14-3.10
ADAS Cog (11) - Mean and Mean Change from Baseline over Time
Made 2026-10-17 from uploaded data.
CDISCPILOT01
Table 14-3.10
ADAS Cog (11) - Mean and Mean Change from Baseline over Time
Efficacy Analysis Set
| Change from baseline | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| n | Mean | Std | Med. | Min. | Max. | Bsln Mean | Bsln Std | Mean | Std | Med. | Min. | Max. | |
| Placebo | |||||||||||||
| Baseline | 79 | 24.1 | 12.19 | 21.0 | 5 | 61 | |||||||
| Week 8 (Windowed) | 79 | 25.0 | 13.10 | 22.0 | 5 | 62 | 24.1 | 12.19 | 0.8 | 4.81 | 1.0 | -12 | 16 |
| Week 16 (Windowed) | 68 | 25.1 | 13.42 | 21.0 | 5 | 63 | 23.4 | 11.32 | 1.7 | 5.92 | 2.0 | -17 | 23 |
| Week 24 (Windowed) | 65 | 25.7 | 13.90 | 23.0 | 5 | 59 | 23.6 | 12.13 | 2.1 | 5.99 | 2.0 | -11 | 16 |
| Week 8 LOCF | 79 | 25.0 | 13.10 | 22.0 | 5 | 62 | 24.1 | 12.19 | 0.8 | 4.81 | 1.0 | -12 | 16 |
| Week 16 LOCF | 79 | 26.1 | 14.16 | 23.0 | 5 | 63 | 24.1 | 12.19 | 2.0 | 5.89 | 2.0 | -17 | 23 |
| Week 24 LOCF | 79 | 26.7 | 13.79 | 24.0 | 5 | 62 | 24.1 | 12.19 | 2.5 | 5.80 | 2.0 | -11 | 16 |
| Xanomeline Low Dose | |||||||||||||
| Baseline | 81 | 24.4 | 12.92 | 21.0 | 5 | 57 | |||||||
| Week 8 (Windowed) | 81 | 26.2 | 12.98 | 25.0 | 5 | 62 | 24.4 | 12.92 | 1.8 | 4.14 | 2.0 | -12 | 14 |
| Week 16 (Windowed) | 42 | 26.2 | 12.23 | 25.0 | 8 | 53 | 25.0 | 12.52 | 1.2 | 4.33 | 1.0 | -8 | 13 |
| Week 24 (Windowed) | 49 | 25.6 | 13.81 | 24.0 | 7 | 57 | 24.4 | 13.76 | 1.3 | 6.05 | 1.0 | -11 | 17 |
| Week 8 LOCF | 81 | 26.2 | 12.98 | 25.0 | 5 | 62 | 24.4 | 12.92 | 1.8 | 4.14 | 2.0 | -12 | 14 |
| Week 16 LOCF | 81 | 26.0 | 13.05 | 25.0 | 5 | 62 | 24.4 | 12.92 | 1.6 | 4.10 | 2.0 | -9 | 14 |
| Week 24 LOCF | 81 | 26.4 | 13.18 | 25.0 | 6 | 62 | 24.4 | 12.92 | 2.0 | 5.55 | 2.0 | -11 | 17 |
| Xanomeline High Dose | |||||||||||||
| Baseline | 74 | 21.3 | 11.74 | 18.0 | 3 | 57 | |||||||
| Week 8 (Windowed) | 74 | 22.3 | 12.41 | 19.0 | 2 | 62 | 21.3 | 11.74 | 1.0 | 3.62 | 1.0 | -8 | 13 |
| Week 16 (Windowed) | 40 | 21.9 | 12.39 | 19.5 | 4 | 49 | 21.1 | 11.79 | 0.8 | 4.92 | 1.0 | -11 | 10 |
| Week 24 (Windowed) | 41 | 21.8 | 12.38 | 19.0 | 3 | 45 | 20.1 | 11.13 | 1.7 | 4.74 | 1.0 | -7 | 13 |
| Week 8 LOCF | 74 | 22.3 | 12.41 | 19.0 | 2 | 62 | 21.3 | 11.74 | 1.0 | 3.62 | 1.0 | -8 | 13 |
| Week 16 LOCF | 74 | 22.5 | 12.33 | 20.0 | 4 | 62 | 21.3 | 11.74 | 1.2 | 4.33 | 1.0 | -11 | 13 |
| Week 24 LOCF | 74 | 22.8 | 12.48 | 20.0 | 3 | 62 | 21.3 | 11.74 | 1.5 | 4.26 | 1.0 | -7 | 13 |
Program: t-14-3-10.sas
Program t-14-3-10.sas
Version 1, written from Clinwright's patterns, 2026-10-17, checks passed.
/*==== 00-header ====*/
/*----------------------------------------------------------------------------
Output : Table 14-3.10 / ADAS Cog (11) - Mean and Mean Change from Baseline over Time / Efficacy Analysis Set
Program : t-14-3-10.sas Reporting effort : CSR
ADaM : /work/adam (ADSL, ADADAS, ADCIBC, ADLBC, ADLBH, ADNPIX, ADTTE, ADVS, ADAE, ADCM, ADMH, ADEX)
The header and the report step follow from the shell. The sections between
them make WORK.FINAL, one record per row of the table, in order:
_page the page (1 unless the output is paged); _pagelbl its heading or empty
_ord the row's order; _indent the label's indentation (0 = flush left)
_rowid the uuid of the shell row it shows (WORK._SHELL); one shell row may
have several (a category per value); a blank row's is blank-<n>
_kind label | stat | blank
rowlabel the row's label, as text
col1 n
col2 Mean
col3 Std
col4 Med.
col5 Min.
col6 Max.
col7 Bsln|Mean
col8 Bsln|Std
col9 Mean
col10 Std
col11 Med.
col12 Min.
col13 Max.
/work/_lib/clinwright.sas has %ls_bign, %ls_count, %ls_stats, %ls_npct, %ls_num.
----------------------------------------------------------------------------*/
libname adam "/work/adam" access=readonly;
%include "/work/_lib/clinwright.sas";
%ls_setup;
/* The shell's rows, in order, with each column's value pattern (_xx1-_xx13). */
data work._shell;
length _page 8 _pagelbl $200 _ord 8 _indent 8 _rowid $36 _kind $5 _var $32 rowlabel $200 _xx1 $40 _xx2 $40 _xx3 $40 _xx4 $40 _xx5 $40 _xx6 $40 _xx7 $40 _xx8 $40 _xx9 $40 _xx10 $40 _xx11 $40 _xx12 $40 _xx13 $40;
_page = 1; _pagelbl = '';
_ord=1; _indent=0; _rowid='3f8bc341-0411-4285-ac94-5c412ff506ca'; _kind='label'; _var=''; rowlabel='[Treatment]'; _xx1=''; _xx2=''; _xx3=''; _xx4=''; _xx5=''; _xx6=''; _xx7=''; _xx8=''; _xx9=''; _xx10=''; _xx11=''; _xx12=''; _xx13=''; output;
_ord=2; _indent=1; _rowid='0e5b0dbf-0455-42a6-9c7f-d5b2a9f31cf3'; _kind='stat'; _var=''; rowlabel='Baseline'; _xx1='xx'; _xx2='xx.x'; _xx3='xx.xx'; _xx4='xx.x'; _xx5='xx'; _xx6='xx'; _xx7=''; _xx8=''; _xx9=''; _xx10=''; _xx11=''; _xx12=''; _xx13=''; output;
_ord=3; _indent=1; _rowid='7e721958-ecd1-42cc-bbfa-458097e2ea59'; _kind='stat'; _var=''; rowlabel='Week 8 (Windowed)'; _xx1='xx'; _xx2='xx.x'; _xx3='xx.xx'; _xx4='xx.x'; _xx5='xx'; _xx6='xx'; _xx7='xx.x'; _xx8='xx.xx'; _xx9='xx.x'; _xx10='xx.xx'; _xx11='xx.x'; _xx12='xx'; _xx13='xx'; output;
_ord=4; _indent=1; _rowid='b921b8af-7177-454c-83e5-4498994c368e'; _kind='stat'; _var=''; rowlabel='Week 16 (Windowed)'; _xx1='xx'; _xx2='xx.x'; _xx3='xx.xx'; _xx4='xx.x'; _xx5='xx'; _xx6='xx'; _xx7='xx.x'; _xx8='xx.xx'; _xx9='xx.x'; _xx10='xx.xx'; _xx11='xx.x'; _xx12='xx'; _xx13='xx'; output;
_ord=5; _indent=1; _rowid='f003d2cc-4432-4d83-956a-baeb770c27e4'; _kind='stat'; _var=''; rowlabel='Week 24 (Windowed)'; _xx1='xx'; _xx2='xx.x'; _xx3='xx.xx'; _xx4='xx.x'; _xx5='xx'; _xx6='xx'; _xx7='xx.x'; _xx8='xx.xx'; _xx9='xx.x'; _xx10='xx.xx'; _xx11='xx.x'; _xx12='xx'; _xx13='xx'; output;
_ord=6; _indent=1; _rowid='d99f0d01-9bcf-4037-9a0d-847bd8a4bea1'; _kind='stat'; _var=''; rowlabel='Week 8 LOCF'; _xx1='xx'; _xx2='xx.x'; _xx3='xx.xx'; _xx4='xx.x'; _xx5='xx'; _xx6='xx'; _xx7='xx.x'; _xx8='xx.xx'; _xx9='xx.x'; _xx10='xx.xx'; _xx11='xx.x'; _xx12='xx'; _xx13='xx'; output;
_ord=7; _indent=1; _rowid='429fec9b-dddf-4bb7-bdd7-9cdc18f75f3d'; _kind='stat'; _var=''; rowlabel='Week 16 LOCF'; _xx1='xx'; _xx2='xx.x'; _xx3='xx.xx'; _xx4='xx.x'; _xx5='xx'; _xx6='xx'; _xx7='xx.x'; _xx8='xx.xx'; _xx9='xx.x'; _xx10='xx.xx'; _xx11='xx.x'; _xx12='xx'; _xx13='xx'; output;
_ord=8; _indent=1; _rowid='c18033f8-81c9-418f-94c1-b62b4c85d858'; _kind='stat'; _var=''; rowlabel='Week 24 LOCF'; _xx1='xx'; _xx2='xx.x'; _xx3='xx.xx'; _xx4='xx.x'; _xx5='xx'; _xx6='xx'; _xx7='xx.x'; _xx8='xx.xx'; _xx9='xx.x'; _xx10='xx.xx'; _xx11='xx.x'; _xx12='xx'; _xx13='xx'; output;
run;
/*==== 10-data ====*/
/* Made from the output's analysis: the records of ADADAS with PARAMCD = 'ACTOT' and ANL01FL = 'Y' of the subjects of ADSL with EFFFL = 'Y', by TRT01P. */
/* The population's subjects, in each column they count in. */
data work._popc;
set adam.adsl(where=(efffl = 'Y'));
_col = 1; output;
_col = 2; output;
_col = 3; output;
_col = 4; output;
_col = 5; output;
_col = 6; output;
_col = 7; output;
_col = 8; output;
_col = 9; output;
_col = 10; output;
_col = 11; output;
_col = 12; output;
_col = 13; output;
keep usubjid _col;
run;
data work._pop1; set adam.adsl(where=(efffl = 'Y')); keep usubjid trt01p; run;
proc sort data=work._pop1; by usubjid; run;
/* The records of ADADAS with PARAMCD = 'ACTOT' and ANL01FL = 'Y', of the population's subjects, in each column. */
proc sort data=adam.adadas(keep=usubjid trtp trtpn efffl avisit paramcd aval base chg anl01fl dtype where=(PARAMCD = 'ACTOT' and ANL01FL = 'Y')) out=work._rec; by usubjid; run;
data work._an;
merge work._rec(in=_r) work._pop1(in=_p);
by usubjid;
if _r and _p;
_col = 1; output;
_col = 2; output;
_col = 3; output;
_col = 4; output;
_col = 5; output;
_col = 6; output;
_col = 7; output;
_col = 8; output;
_col = 9; output;
_col = 10; output;
_col = 11; output;
_col = 12; output;
_col = 13; output;
run;
data work._cols; do _col = 1 to 13; output; end; run;
%ls_bign(data=work._popc, trt=_col, values=1|2|3|4|5|6|7|8|9|10|11|12|13, names=_lsn1 _lsn2 _lsn3 _lsn4 _lsn5 _lsn6 _lsn7 _lsn8 _lsn9 _lsn10 _lsn11 _lsn12 _lsn13);
/* Subjects and records per column. */
proc sort data=work._an(keep=usubjid _col) out=work._u; by _col usubjid; run;
data work._c;
set work._u;
by _col usubjid;
retain _n _e;
if first._col then do; _n = 0; _e = 0; end;
_e = _e + 1;
if first.usubjid then _n = _n + 1;
if last._col then output;
keep _col _n _e;
run;
proc transpose data=work._c out=work._tn(drop=_name_) prefix=_n; id _col; var _n; run;
proc transpose data=work._c out=work._te(drop=_name_) prefix=_e; id _col; var _e; run;
data work._z; _z = 1; run;
data work._g1;
merge work._z work._tn work._te;
array _nn{13} _n1-_n13;
array _ee{13} _e1-_e13;
do _i = 1 to 13; _nn{_i} = sum(_nn{_i}, 0); _ee{_i} = sum(_ee{_i}, 0); end;
_tot = _n1;
drop _i _z;
run;
/* Per value of trtp: subjects and records per column. */
proc sort data=work._an(keep=usubjid _col trtp trtpn where=(not missing(trtp))) out=work._u; by trtp _col usubjid; run;
data work._c;
set work._u;
by trtp _col usubjid;
retain _n _e;
if first._col then do; _n = 0; _e = 0; end;
_e = _e + 1;
if first.usubjid then _n = _n + 1;
if last._col then output;
keep trtp trtpn _col _n _e;
run;
proc transpose data=work._c out=work._tn(drop=_name_) prefix=_n; by trtp trtpn; id _col; var _n; run;
proc transpose data=work._c out=work._te(drop=_name_) prefix=_e; by trtp trtpn; id _col; var _e; run;
data work._g0;
merge work._tn work._te; by trtp trtpn;
array _nn{13} _n1-_n13;
array _ee{13} _e1-_e13;
do _i = 1 to 13; _nn{_i} = sum(_nn{_i}, 0); _ee{_i} = sum(_ee{_i}, 0); end;
_tot = _n1;
drop _i;
run;
proc sort data=work._g0; by trtpn trtp; run;
data work._g0;
set work._g0;
_o1 = _n_;
run;
/* [Treatment] of TRTP. */
data work._f; set work._g0; do _col = 1 to 13; output; end; run;
proc sort data=work._f; by trtp _col; run;
data work._k1;
length _rowid $36 _label _pagelbl $200 _v $200;
set work._f;
array _nn{13} _n1-_n13;
array _ee{13} _e1-_e13;
_rowid = '3f8bc341-0411-4285-ac94-5c412ff506ca';
_page = 1;
_pagelbl = '';
_k0 = 1;
_k1 = _o1; _k2 = 0;
_label = strip(trtp);
_v = '';
keep _rowid _label _page _pagelbl _k0 _k1 _k2 _col _v;
run;
data work._ar; set work._an; where (AVISIT = 'Baseline'); run;
/* Baseline where AVISIT = 'Baseline'. */
data work._f; set work._g0; do _col = 1 to 13; output; end; run;
proc sort data=work._f; by trtp _col; run;
%ls_stats(data=work._ar, out=work._cs0, var=aval, trt=_col, by=trtp, keepraw=Y);
data work._cs0;
set work._cs0(rename=(_vn=_c0n _vmean=_c0mean _vsd=_c0sd _vmedian=_c0median _vq1=_c0q1 _vq3=_c0q3 _vmin=_c0min _vmax=_c0max _vcv=_c0cv _vgmean=_c0gmean _vgcv=_c0gcv _vglo=_c0glo _vghi=_c0ghi));
keep trtp _col _c0n _c0mean _c0sd _c0median _c0q1 _c0q3 _c0min _c0max _c0cv _c0gmean _c0gcv _c0glo _c0ghi;
run;
%ls_stats(data=work._ar, out=work._cs1, var=base, trt=_col, by=trtp, keepraw=Y);
data work._cs1;
set work._cs1(rename=(_vn=_c1n _vmean=_c1mean _vsd=_c1sd _vmedian=_c1median _vq1=_c1q1 _vq3=_c1q3 _vmin=_c1min _vmax=_c1max _vcv=_c1cv _vgmean=_c1gmean _vgcv=_c1gcv _vglo=_c1glo _vghi=_c1ghi));
keep trtp _col _c1n _c1mean _c1sd _c1median _c1q1 _c1q3 _c1min _c1max _c1cv _c1gmean _c1gcv _c1glo _c1ghi;
run;
%ls_stats(data=work._ar, out=work._cs2, var=chg, trt=_col, by=trtp, keepraw=Y);
data work._cs2;
set work._cs2(rename=(_vn=_c2n _vmean=_c2mean _vsd=_c2sd _vmedian=_c2median _vq1=_c2q1 _vq3=_c2q3 _vmin=_c2min _vmax=_c2max _vcv=_c2cv _vgmean=_c2gmean _vgcv=_c2gcv _vglo=_c2glo _vghi=_c2ghi));
keep trtp _col _c2n _c2mean _c2sd _c2median _c2q1 _c2q3 _c2min _c2max _c2cv _c2gmean _c2gcv _c2glo _c2ghi;
run;
data work._k2;
length _rowid $36 _label _pagelbl $200 _v $200;
merge work._f(in=_in) work._cs0 work._cs1 work._cs2;
by trtp _col;
if _in;
array _nn{13} _n1-_n13;
array _ee{13} _e1-_e13;
_rowid = '0e5b0dbf-0455-42a6-9c7f-d5b2a9f31cf3';
_page = 1;
_pagelbl = '';
_k0 = 1;
_k1 = _o1; _k2 = 2;
_label = '';
if _col = 1 then _v = strip(ifc(missing(sum(_c0n, 0)), '-', %ls_num(sum(_c0n, 0), 0)));
else if _col = 2 then _v = strip(ifc(missing(_c0mean), '-', %ls_num(_c0mean, 1)));
else if _col = 3 then _v = strip(ifc(missing(_c0sd), '-', %ls_num(_c0sd, 2)));
else if _col = 4 then _v = strip(ifc(missing(_c0median), '-', %ls_num(_c0median, 1)));
else if _col = 5 then _v = strip(ifc(missing(_c0min), '-', %ls_num(_c0min, 0)));
else if _col = 6 then _v = strip(ifc(missing(_c0max), '-', %ls_num(_c0max, 0)));
else if _col = 7 then _v = '';
else if _col = 8 then _v = '';
else if _col = 9 then _v = '';
else if _col = 10 then _v = '';
else if _col = 11 then _v = '';
else if _col = 12 then _v = '';
else if _col = 13 then _v = '';
keep _rowid _label _page _pagelbl _k0 _k1 _k2 _col _v;
run;
data work._ar; set work._an; where (AVISIT = 'Week 8' and missing(DTYPE)); run;
/* Week 8 (Windowed) where AVISIT = 'Week 8' and missing(DTYPE). */
data work._f; set work._g0; do _col = 1 to 13; output; end; run;
proc sort data=work._f; by trtp _col; run;
%ls_stats(data=work._ar, out=work._cs0, var=aval, trt=_col, by=trtp, keepraw=Y);
data work._cs0;
set work._cs0(rename=(_vn=_c0n _vmean=_c0mean _vsd=_c0sd _vmedian=_c0median _vq1=_c0q1 _vq3=_c0q3 _vmin=_c0min _vmax=_c0max _vcv=_c0cv _vgmean=_c0gmean _vgcv=_c0gcv _vglo=_c0glo _vghi=_c0ghi));
keep trtp _col _c0n _c0mean _c0sd _c0median _c0q1 _c0q3 _c0min _c0max _c0cv _c0gmean _c0gcv _c0glo _c0ghi;
run;
%ls_stats(data=work._ar, out=work._cs1, var=base, trt=_col, by=trtp, keepraw=Y);
data work._cs1;
set work._cs1(rename=(_vn=_c1n _vmean=_c1mean _vsd=_c1sd _vmedian=_c1median _vq1=_c1q1 _vq3=_c1q3 _vmin=_c1min _vmax=_c1max _vcv=_c1cv _vgmean=_c1gmean _vgcv=_c1gcv _vglo=_c1glo _vghi=_c1ghi));
keep trtp _col _c1n _c1mean _c1sd _c1median _c1q1 _c1q3 _c1min _c1max _c1cv _c1gmean _c1gcv _c1glo _c1ghi;
run;
%ls_stats(data=work._ar, out=work._cs2, var=chg, trt=_col, by=trtp, keepraw=Y);
data work._cs2;
set work._cs2(rename=(_vn=_c2n _vmean=_c2mean _vsd=_c2sd _vmedian=_c2median _vq1=_c2q1 _vq3=_c2q3 _vmin=_c2min _vmax=_c2max _vcv=_c2cv _vgmean=_c2gmean _vgcv=_c2gcv _vglo=_c2glo _vghi=_c2ghi));
keep trtp _col _c2n _c2mean _c2sd _c2median _c2q1 _c2q3 _c2min _c2max _c2cv _c2gmean _c2gcv _c2glo _c2ghi;
run;
data work._k3;
length _rowid $36 _label _pagelbl $200 _v $200;
merge work._f(in=_in) work._cs0 work._cs1 work._cs2;
by trtp _col;
if _in;
array _nn{13} _n1-_n13;
array _ee{13} _e1-_e13;
_rowid = '7e721958-ecd1-42cc-bbfa-458097e2ea59';
_page = 1;
_pagelbl = '';
_k0 = 1;
_k1 = _o1; _k2 = 3;
_label = '';
if _col = 1 then _v = strip(ifc(missing(sum(_c0n, 0)), '-', %ls_num(sum(_c0n, 0), 0)));
else if _col = 2 then _v = strip(ifc(missing(_c0mean), '-', %ls_num(_c0mean, 1)));
else if _col = 3 then _v = strip(ifc(missing(_c0sd), '-', %ls_num(_c0sd, 2)));
else if _col = 4 then _v = strip(ifc(missing(_c0median), '-', %ls_num(_c0median, 1)));
else if _col = 5 then _v = strip(ifc(missing(_c0min), '-', %ls_num(_c0min, 0)));
else if _col = 6 then _v = strip(ifc(missing(_c0max), '-', %ls_num(_c0max, 0)));
else if _col = 7 then _v = strip(ifc(missing(_c1mean), '-', %ls_num(_c1mean, 1)));
else if _col = 8 then _v = strip(ifc(missing(_c1sd), '-', %ls_num(_c1sd, 2)));
else if _col = 9 then _v = strip(ifc(missing(_c2mean), '-', %ls_num(_c2mean, 1)));
else if _col = 10 then _v = strip(ifc(missing(_c2sd), '-', %ls_num(_c2sd, 2)));
else if _col = 11 then _v = strip(ifc(missing(_c2median), '-', %ls_num(_c2median, 1)));
else if _col = 12 then _v = strip(ifc(missing(_c2min), '-', %ls_num(_c2min, 0)));
else if _col = 13 then _v = strip(ifc(missing(_c2max), '-', %ls_num(_c2max, 0)));
keep _rowid _label _page _pagelbl _k0 _k1 _k2 _col _v;
run;
data work._ar; set work._an; where (AVISIT = 'Week 16' and missing(DTYPE)); run;
/* Week 16 (Windowed) where AVISIT = 'Week 16' and missing(DTYPE). */
data work._f; set work._g0; do _col = 1 to 13; output; end; run;
proc sort data=work._f; by trtp _col; run;
%ls_stats(data=work._ar, out=work._cs0, var=aval, trt=_col, by=trtp, keepraw=Y);
data work._cs0;
set work._cs0(rename=(_vn=_c0n _vmean=_c0mean _vsd=_c0sd _vmedian=_c0median _vq1=_c0q1 _vq3=_c0q3 _vmin=_c0min _vmax=_c0max _vcv=_c0cv _vgmean=_c0gmean _vgcv=_c0gcv _vglo=_c0glo _vghi=_c0ghi));
keep trtp _col _c0n _c0mean _c0sd _c0median _c0q1 _c0q3 _c0min _c0max _c0cv _c0gmean _c0gcv _c0glo _c0ghi;
run;
%ls_stats(data=work._ar, out=work._cs1, var=base, trt=_col, by=trtp, keepraw=Y);
data work._cs1;
set work._cs1(rename=(_vn=_c1n _vmean=_c1mean _vsd=_c1sd _vmedian=_c1median _vq1=_c1q1 _vq3=_c1q3 _vmin=_c1min _vmax=_c1max _vcv=_c1cv _vgmean=_c1gmean _vgcv=_c1gcv _vglo=_c1glo _vghi=_c1ghi));
keep trtp _col _c1n _c1mean _c1sd _c1median _c1q1 _c1q3 _c1min _c1max _c1cv _c1gmean _c1gcv _c1glo _c1ghi;
run;
%ls_stats(data=work._ar, out=work._cs2, var=chg, trt=_col, by=trtp, keepraw=Y);
data work._cs2;
set work._cs2(rename=(_vn=_c2n _vmean=_c2mean _vsd=_c2sd _vmedian=_c2median _vq1=_c2q1 _vq3=_c2q3 _vmin=_c2min _vmax=_c2max _vcv=_c2cv _vgmean=_c2gmean _vgcv=_c2gcv _vglo=_c2glo _vghi=_c2ghi));
keep trtp _col _c2n _c2mean _c2sd _c2median _c2q1 _c2q3 _c2min _c2max _c2cv _c2gmean _c2gcv _c2glo _c2ghi;
run;
data work._k4;
length _rowid $36 _label _pagelbl $200 _v $200;
merge work._f(in=_in) work._cs0 work._cs1 work._cs2;
by trtp _col;
if _in;
array _nn{13} _n1-_n13;
array _ee{13} _e1-_e13;
_rowid = 'b921b8af-7177-454c-83e5-4498994c368e';
_page = 1;
_pagelbl = '';
_k0 = 1;
_k1 = _o1; _k2 = 4;
_label = '';
if _col = 1 then _v = strip(ifc(missing(sum(_c0n, 0)), '-', %ls_num(sum(_c0n, 0), 0)));
else if _col = 2 then _v = strip(ifc(missing(_c0mean), '-', %ls_num(_c0mean, 1)));
else if _col = 3 then _v = strip(ifc(missing(_c0sd), '-', %ls_num(_c0sd, 2)));
else if _col = 4 then _v = strip(ifc(missing(_c0median), '-', %ls_num(_c0median, 1)));
else if _col = 5 then _v = strip(ifc(missing(_c0min), '-', %ls_num(_c0min, 0)));
else if _col = 6 then _v = strip(ifc(missing(_c0max), '-', %ls_num(_c0max, 0)));
else if _col = 7 then _v = strip(ifc(missing(_c1mean), '-', %ls_num(_c1mean, 1)));
else if _col = 8 then _v = strip(ifc(missing(_c1sd), '-', %ls_num(_c1sd, 2)));
else if _col = 9 then _v = strip(ifc(missing(_c2mean), '-', %ls_num(_c2mean, 1)));
else if _col = 10 then _v = strip(ifc(missing(_c2sd), '-', %ls_num(_c2sd, 2)));
else if _col = 11 then _v = strip(ifc(missing(_c2median), '-', %ls_num(_c2median, 1)));
else if _col = 12 then _v = strip(ifc(missing(_c2min), '-', %ls_num(_c2min, 0)));
else if _col = 13 then _v = strip(ifc(missing(_c2max), '-', %ls_num(_c2max, 0)));
keep _rowid _label _page _pagelbl _k0 _k1 _k2 _col _v;
run;
data work._ar; set work._an; where (AVISIT = 'Week 24' and missing(DTYPE)); run;
/* Week 24 (Windowed) where AVISIT = 'Week 24' and missing(DTYPE). */
data work._f; set work._g0; do _col = 1 to 13; output; end; run;
proc sort data=work._f; by trtp _col; run;
%ls_stats(data=work._ar, out=work._cs0, var=aval, trt=_col, by=trtp, keepraw=Y);
data work._cs0;
set work._cs0(rename=(_vn=_c0n _vmean=_c0mean _vsd=_c0sd _vmedian=_c0median _vq1=_c0q1 _vq3=_c0q3 _vmin=_c0min _vmax=_c0max _vcv=_c0cv _vgmean=_c0gmean _vgcv=_c0gcv _vglo=_c0glo _vghi=_c0ghi));
keep trtp _col _c0n _c0mean _c0sd _c0median _c0q1 _c0q3 _c0min _c0max _c0cv _c0gmean _c0gcv _c0glo _c0ghi;
run;
%ls_stats(data=work._ar, out=work._cs1, var=base, trt=_col, by=trtp, keepraw=Y);
data work._cs1;
set work._cs1(rename=(_vn=_c1n _vmean=_c1mean _vsd=_c1sd _vmedian=_c1median _vq1=_c1q1 _vq3=_c1q3 _vmin=_c1min _vmax=_c1max _vcv=_c1cv _vgmean=_c1gmean _vgcv=_c1gcv _vglo=_c1glo _vghi=_c1ghi));
keep trtp _col _c1n _c1mean _c1sd _c1median _c1q1 _c1q3 _c1min _c1max _c1cv _c1gmean _c1gcv _c1glo _c1ghi;
run;
%ls_stats(data=work._ar, out=work._cs2, var=chg, trt=_col, by=trtp, keepraw=Y);
data work._cs2;
set work._cs2(rename=(_vn=_c2n _vmean=_c2mean _vsd=_c2sd _vmedian=_c2median _vq1=_c2q1 _vq3=_c2q3 _vmin=_c2min _vmax=_c2max _vcv=_c2cv _vgmean=_c2gmean _vgcv=_c2gcv _vglo=_c2glo _vghi=_c2ghi));
keep trtp _col _c2n _c2mean _c2sd _c2median _c2q1 _c2q3 _c2min _c2max _c2cv _c2gmean _c2gcv _c2glo _c2ghi;
run;
data work._k5;
length _rowid $36 _label _pagelbl $200 _v $200;
merge work._f(in=_in) work._cs0 work._cs1 work._cs2;
by trtp _col;
if _in;
array _nn{13} _n1-_n13;
array _ee{13} _e1-_e13;
_rowid = 'f003d2cc-4432-4d83-956a-baeb770c27e4';
_page = 1;
_pagelbl = '';
_k0 = 1;
_k1 = _o1; _k2 = 5;
_label = '';
if _col = 1 then _v = strip(ifc(missing(sum(_c0n, 0)), '-', %ls_num(sum(_c0n, 0), 0)));
else if _col = 2 then _v = strip(ifc(missing(_c0mean), '-', %ls_num(_c0mean, 1)));
else if _col = 3 then _v = strip(ifc(missing(_c0sd), '-', %ls_num(_c0sd, 2)));
else if _col = 4 then _v = strip(ifc(missing(_c0median), '-', %ls_num(_c0median, 1)));
else if _col = 5 then _v = strip(ifc(missing(_c0min), '-', %ls_num(_c0min, 0)));
else if _col = 6 then _v = strip(ifc(missing(_c0max), '-', %ls_num(_c0max, 0)));
else if _col = 7 then _v = strip(ifc(missing(_c1mean), '-', %ls_num(_c1mean, 1)));
else if _col = 8 then _v = strip(ifc(missing(_c1sd), '-', %ls_num(_c1sd, 2)));
else if _col = 9 then _v = strip(ifc(missing(_c2mean), '-', %ls_num(_c2mean, 1)));
else if _col = 10 then _v = strip(ifc(missing(_c2sd), '-', %ls_num(_c2sd, 2)));
else if _col = 11 then _v = strip(ifc(missing(_c2median), '-', %ls_num(_c2median, 1)));
else if _col = 12 then _v = strip(ifc(missing(_c2min), '-', %ls_num(_c2min, 0)));
else if _col = 13 then _v = strip(ifc(missing(_c2max), '-', %ls_num(_c2max, 0)));
keep _rowid _label _page _pagelbl _k0 _k1 _k2 _col _v;
run;
data work._ar; set work._an; where (AVISIT = 'Week 8'); run;
/* Week 8 LOCF where AVISIT = 'Week 8'. */
data work._f; set work._g0; do _col = 1 to 13; output; end; run;
proc sort data=work._f; by trtp _col; run;
%ls_stats(data=work._ar, out=work._cs0, var=aval, trt=_col, by=trtp, keepraw=Y);
data work._cs0;
set work._cs0(rename=(_vn=_c0n _vmean=_c0mean _vsd=_c0sd _vmedian=_c0median _vq1=_c0q1 _vq3=_c0q3 _vmin=_c0min _vmax=_c0max _vcv=_c0cv _vgmean=_c0gmean _vgcv=_c0gcv _vglo=_c0glo _vghi=_c0ghi));
keep trtp _col _c0n _c0mean _c0sd _c0median _c0q1 _c0q3 _c0min _c0max _c0cv _c0gmean _c0gcv _c0glo _c0ghi;
run;
%ls_stats(data=work._ar, out=work._cs1, var=base, trt=_col, by=trtp, keepraw=Y);
data work._cs1;
set work._cs1(rename=(_vn=_c1n _vmean=_c1mean _vsd=_c1sd _vmedian=_c1median _vq1=_c1q1 _vq3=_c1q3 _vmin=_c1min _vmax=_c1max _vcv=_c1cv _vgmean=_c1gmean _vgcv=_c1gcv _vglo=_c1glo _vghi=_c1ghi));
keep trtp _col _c1n _c1mean _c1sd _c1median _c1q1 _c1q3 _c1min _c1max _c1cv _c1gmean _c1gcv _c1glo _c1ghi;
run;
%ls_stats(data=work._ar, out=work._cs2, var=chg, trt=_col, by=trtp, keepraw=Y);
data work._cs2;
set work._cs2(rename=(_vn=_c2n _vmean=_c2mean _vsd=_c2sd _vmedian=_c2median _vq1=_c2q1 _vq3=_c2q3 _vmin=_c2min _vmax=_c2max _vcv=_c2cv _vgmean=_c2gmean _vgcv=_c2gcv _vglo=_c2glo _vghi=_c2ghi));
keep trtp _col _c2n _c2mean _c2sd _c2median _c2q1 _c2q3 _c2min _c2max _c2cv _c2gmean _c2gcv _c2glo _c2ghi;
run;
data work._k6;
length _rowid $36 _label _pagelbl $200 _v $200;
merge work._f(in=_in) work._cs0 work._cs1 work._cs2;
by trtp _col;
if _in;
array _nn{13} _n1-_n13;
array _ee{13} _e1-_e13;
_rowid = 'd99f0d01-9bcf-4037-9a0d-847bd8a4bea1';
_page = 1;
_pagelbl = '';
_k0 = 1;
_k1 = _o1; _k2 = 6;
_label = '';
if _col = 1 then _v = strip(ifc(missing(sum(_c0n, 0)), '-', %ls_num(sum(_c0n, 0), 0)));
else if _col = 2 then _v = strip(ifc(missing(_c0mean), '-', %ls_num(_c0mean, 1)));
else if _col = 3 then _v = strip(ifc(missing(_c0sd), '-', %ls_num(_c0sd, 2)));
else if _col = 4 then _v = strip(ifc(missing(_c0median), '-', %ls_num(_c0median, 1)));
else if _col = 5 then _v = strip(ifc(missing(_c0min), '-', %ls_num(_c0min, 0)));
else if _col = 6 then _v = strip(ifc(missing(_c0max), '-', %ls_num(_c0max, 0)));
else if _col = 7 then _v = strip(ifc(missing(_c1mean), '-', %ls_num(_c1mean, 1)));
else if _col = 8 then _v = strip(ifc(missing(_c1sd), '-', %ls_num(_c1sd, 2)));
else if _col = 9 then _v = strip(ifc(missing(_c2mean), '-', %ls_num(_c2mean, 1)));
else if _col = 10 then _v = strip(ifc(missing(_c2sd), '-', %ls_num(_c2sd, 2)));
else if _col = 11 then _v = strip(ifc(missing(_c2median), '-', %ls_num(_c2median, 1)));
else if _col = 12 then _v = strip(ifc(missing(_c2min), '-', %ls_num(_c2min, 0)));
else if _col = 13 then _v = strip(ifc(missing(_c2max), '-', %ls_num(_c2max, 0)));
keep _rowid _label _page _pagelbl _k0 _k1 _k2 _col _v;
run;
data work._ar; set work._an; where (AVISIT = 'Week 16'); run;
/* Week 16 LOCF where AVISIT = 'Week 16'. */
data work._f; set work._g0; do _col = 1 to 13; output; end; run;
proc sort data=work._f; by trtp _col; run;
%ls_stats(data=work._ar, out=work._cs0, var=aval, trt=_col, by=trtp, keepraw=Y);
data work._cs0;
set work._cs0(rename=(_vn=_c0n _vmean=_c0mean _vsd=_c0sd _vmedian=_c0median _vq1=_c0q1 _vq3=_c0q3 _vmin=_c0min _vmax=_c0max _vcv=_c0cv _vgmean=_c0gmean _vgcv=_c0gcv _vglo=_c0glo _vghi=_c0ghi));
keep trtp _col _c0n _c0mean _c0sd _c0median _c0q1 _c0q3 _c0min _c0max _c0cv _c0gmean _c0gcv _c0glo _c0ghi;
run;
%ls_stats(data=work._ar, out=work._cs1, var=base, trt=_col, by=trtp, keepraw=Y);
data work._cs1;
set work._cs1(rename=(_vn=_c1n _vmean=_c1mean _vsd=_c1sd _vmedian=_c1median _vq1=_c1q1 _vq3=_c1q3 _vmin=_c1min _vmax=_c1max _vcv=_c1cv _vgmean=_c1gmean _vgcv=_c1gcv _vglo=_c1glo _vghi=_c1ghi));
keep trtp _col _c1n _c1mean _c1sd _c1median _c1q1 _c1q3 _c1min _c1max _c1cv _c1gmean _c1gcv _c1glo _c1ghi;
run;
%ls_stats(data=work._ar, out=work._cs2, var=chg, trt=_col, by=trtp, keepraw=Y);
data work._cs2;
set work._cs2(rename=(_vn=_c2n _vmean=_c2mean _vsd=_c2sd _vmedian=_c2median _vq1=_c2q1 _vq3=_c2q3 _vmin=_c2min _vmax=_c2max _vcv=_c2cv _vgmean=_c2gmean _vgcv=_c2gcv _vglo=_c2glo _vghi=_c2ghi));
keep trtp _col _c2n _c2mean _c2sd _c2median _c2q1 _c2q3 _c2min _c2max _c2cv _c2gmean _c2gcv _c2glo _c2ghi;
run;
data work._k7;
length _rowid $36 _label _pagelbl $200 _v $200;
merge work._f(in=_in) work._cs0 work._cs1 work._cs2;
by trtp _col;
if _in;
array _nn{13} _n1-_n13;
array _ee{13} _e1-_e13;
_rowid = '429fec9b-dddf-4bb7-bdd7-9cdc18f75f3d';
_page = 1;
_pagelbl = '';
_k0 = 1;
_k1 = _o1; _k2 = 7;
_label = '';
if _col = 1 then _v = strip(ifc(missing(sum(_c0n, 0)), '-', %ls_num(sum(_c0n, 0), 0)));
else if _col = 2 then _v = strip(ifc(missing(_c0mean), '-', %ls_num(_c0mean, 1)));
else if _col = 3 then _v = strip(ifc(missing(_c0sd), '-', %ls_num(_c0sd, 2)));
else if _col = 4 then _v = strip(ifc(missing(_c0median), '-', %ls_num(_c0median, 1)));
else if _col = 5 then _v = strip(ifc(missing(_c0min), '-', %ls_num(_c0min, 0)));
else if _col = 6 then _v = strip(ifc(missing(_c0max), '-', %ls_num(_c0max, 0)));
else if _col = 7 then _v = strip(ifc(missing(_c1mean), '-', %ls_num(_c1mean, 1)));
else if _col = 8 then _v = strip(ifc(missing(_c1sd), '-', %ls_num(_c1sd, 2)));
else if _col = 9 then _v = strip(ifc(missing(_c2mean), '-', %ls_num(_c2mean, 1)));
else if _col = 10 then _v = strip(ifc(missing(_c2sd), '-', %ls_num(_c2sd, 2)));
else if _col = 11 then _v = strip(ifc(missing(_c2median), '-', %ls_num(_c2median, 1)));
else if _col = 12 then _v = strip(ifc(missing(_c2min), '-', %ls_num(_c2min, 0)));
else if _col = 13 then _v = strip(ifc(missing(_c2max), '-', %ls_num(_c2max, 0)));
keep _rowid _label _page _pagelbl _k0 _k1 _k2 _col _v;
run;
data work._ar; set work._an; where (AVISIT = 'Week 24'); run;
/* Week 24 LOCF where AVISIT = 'Week 24'. */
data work._f; set work._g0; do _col = 1 to 13; output; end; run;
proc sort data=work._f; by trtp _col; run;
%ls_stats(data=work._ar, out=work._cs0, var=aval, trt=_col, by=trtp, keepraw=Y);
data work._cs0;
set work._cs0(rename=(_vn=_c0n _vmean=_c0mean _vsd=_c0sd _vmedian=_c0median _vq1=_c0q1 _vq3=_c0q3 _vmin=_c0min _vmax=_c0max _vcv=_c0cv _vgmean=_c0gmean _vgcv=_c0gcv _vglo=_c0glo _vghi=_c0ghi));
keep trtp _col _c0n _c0mean _c0sd _c0median _c0q1 _c0q3 _c0min _c0max _c0cv _c0gmean _c0gcv _c0glo _c0ghi;
run;
%ls_stats(data=work._ar, out=work._cs1, var=base, trt=_col, by=trtp, keepraw=Y);
data work._cs1;
set work._cs1(rename=(_vn=_c1n _vmean=_c1mean _vsd=_c1sd _vmedian=_c1median _vq1=_c1q1 _vq3=_c1q3 _vmin=_c1min _vmax=_c1max _vcv=_c1cv _vgmean=_c1gmean _vgcv=_c1gcv _vglo=_c1glo _vghi=_c1ghi));
keep trtp _col _c1n _c1mean _c1sd _c1median _c1q1 _c1q3 _c1min _c1max _c1cv _c1gmean _c1gcv _c1glo _c1ghi;
run;
%ls_stats(data=work._ar, out=work._cs2, var=chg, trt=_col, by=trtp, keepraw=Y);
data work._cs2;
set work._cs2(rename=(_vn=_c2n _vmean=_c2mean _vsd=_c2sd _vmedian=_c2median _vq1=_c2q1 _vq3=_c2q3 _vmin=_c2min _vmax=_c2max _vcv=_c2cv _vgmean=_c2gmean _vgcv=_c2gcv _vglo=_c2glo _vghi=_c2ghi));
keep trtp _col _c2n _c2mean _c2sd _c2median _c2q1 _c2q3 _c2min _c2max _c2cv _c2gmean _c2gcv _c2glo _c2ghi;
run;
data work._k8;
length _rowid $36 _label _pagelbl $200 _v $200;
merge work._f(in=_in) work._cs0 work._cs1 work._cs2;
by trtp _col;
if _in;
array _nn{13} _n1-_n13;
array _ee{13} _e1-_e13;
_rowid = 'c18033f8-81c9-418f-94c1-b62b4c85d858';
_page = 1;
_pagelbl = '';
_k0 = 1;
_k1 = _o1; _k2 = 8;
_label = '';
if _col = 1 then _v = strip(ifc(missing(sum(_c0n, 0)), '-', %ls_num(sum(_c0n, 0), 0)));
else if _col = 2 then _v = strip(ifc(missing(_c0mean), '-', %ls_num(_c0mean, 1)));
else if _col = 3 then _v = strip(ifc(missing(_c0sd), '-', %ls_num(_c0sd, 2)));
else if _col = 4 then _v = strip(ifc(missing(_c0median), '-', %ls_num(_c0median, 1)));
else if _col = 5 then _v = strip(ifc(missing(_c0min), '-', %ls_num(_c0min, 0)));
else if _col = 6 then _v = strip(ifc(missing(_c0max), '-', %ls_num(_c0max, 0)));
else if _col = 7 then _v = strip(ifc(missing(_c1mean), '-', %ls_num(_c1mean, 1)));
else if _col = 8 then _v = strip(ifc(missing(_c1sd), '-', %ls_num(_c1sd, 2)));
else if _col = 9 then _v = strip(ifc(missing(_c2mean), '-', %ls_num(_c2mean, 1)));
else if _col = 10 then _v = strip(ifc(missing(_c2sd), '-', %ls_num(_c2sd, 2)));
else if _col = 11 then _v = strip(ifc(missing(_c2median), '-', %ls_num(_c2median, 1)));
else if _col = 12 then _v = strip(ifc(missing(_c2min), '-', %ls_num(_c2min, 0)));
else if _col = 13 then _v = strip(ifc(missing(_c2max), '-', %ls_num(_c2max, 0)));
keep _rowid _label _page _pagelbl _k0 _k1 _k2 _col _v;
run;
data work._cells; set work._k1 work._k2 work._k3 work._k4 work._k5 work._k6 work._k7 work._k8; run;
proc sort data=work._cells; by _page _pagelbl _k0 _k1 _k2 _rowid _label _col; run;
proc transpose data=work._cells out=work._wide(drop=_name_) prefix=col;
by _page _pagelbl _k0 _k1 _k2 _rowid _label;
id _col;
var _v;
run;
proc sort data=work._wide; by _rowid; run;
proc sort data=work._shell(drop=_page _pagelbl) out=work._rows; by _rowid; run;
data work._inst;
merge work._wide(in=_w) work._rows(in=_s);
by _rowid;
if _w and _s;
if _label ne '' then rowlabel = _label;
run;
data work._fixed;
set work._shell;
if _rowid not in ('3f8bc341-0411-4285-ac94-5c412ff506ca' '0e5b0dbf-0455-42a6-9c7f-d5b2a9f31cf3' '7e721958-ecd1-42cc-bbfa-458097e2ea59' 'b921b8af-7177-454c-83e5-4498994c368e' 'f003d2cc-4432-4d83-956a-baeb770c27e4' 'd99f0d01-9bcf-4037-9a0d-847bd8a4bea1' '429fec9b-dddf-4bb7-bdd7-9cdc18f75f3d' 'c18033f8-81c9-418f-94c1-b62b4c85d858');
_k0 = _ord; _k1 = 0; _k2 = 0;
run;
data work.final;
length col1 col2 col3 col4 col5 col6 col7 col8 col9 col10 col11 col12 col13 $200 _pagelbl $200;
set work._inst work._fixed;
run;
proc sort data=work.final; by _page _k0 _k1 _k2; run;
data work.final;
set work.final;
_ord = _n_;
keep _page _pagelbl _ord _indent _rowid _kind rowlabel col1 col2 col3 col4 col5 col6 col7 col8 col9 col10 col11 col12 col13;
run;
/*==== 90-report ====*/
/* 90-report: from the shell; the titles, columns, headers and footnotes are not changed here. */
%ls_final_check(columns=_page _pagelbl _ord _indent _rowid _kind rowlabel col1 col2 col3 col4 col5 col6 col7 col8 col9 col10 col11 col12 col13);
proc sort data=work.final out=work._report; by _page _ord; run;
data work._report;
set work._report;
/* Two spaces per step of indentation: the label column keeps leading spaces (asis=on). */
if _indent > 0 then rowlabel = repeat(' ', 2 * _indent - 1) || rowlabel;
run;
%let _lspaged = 0;
proc sql noprint; select count(*) into :_lspaged trimmed from work._report where _pagelbl ne ''; quit;
options orientation=landscape;
ods listing close;
ods rtf file="/work/out/t-14-3-10.rtf" style=journal;
title1 j=l "CDISCPILOT01" j=r "Page ~{thispage} of ~{lastpage}";
title2 j=c "Table 14-3.10";
title3 j=c "ADAS Cog (11) - Mean and Mean Change from Baseline over Time";
title4 j=c "Efficacy Analysis Set";
footnote1 j=l "Program: t-14-3-10.sas";
%macro _ls_report;
proc report data=work._report nowd split='|' missing style(report)={width=100%};
column _page _pagelbl _ord _indent _kind rowlabel col1 col2 col3 col4 col5 col6 col7 col8 ("Change from baseline" col9 col10 col11 col12 col13);
define _page / order order=internal noprint;
define _pagelbl / order noprint;
define _ord / order order=internal noprint;
define _indent / display noprint;
define _kind / display noprint;
define rowlabel / display "" style(column)={cellwidth=40% asis=on} style(header)={just=l};
define col1 / display "n" style(column)={cellwidth=5% just=c} style(header)={just=c};
define col2 / display "Mean" style(column)={cellwidth=5% just=c} style(header)={just=c};
define col3 / display "Std" style(column)={cellwidth=5% just=c} style(header)={just=c};
define col4 / display "Med." style(column)={cellwidth=5% just=c} style(header)={just=c};
define col5 / display "Min." style(column)={cellwidth=5% just=c} style(header)={just=c};
define col6 / display "Max." style(column)={cellwidth=5% just=c} style(header)={just=c};
define col7 / display "Bsln|Mean" style(column)={cellwidth=5% just=c} style(header)={just=c};
define col8 / display "Bsln|Std" style(column)={cellwidth=5% just=c} style(header)={just=c};
define col9 / display "Mean" style(column)={cellwidth=5% just=c} style(header)={just=c};
define col10 / display "Std" style(column)={cellwidth=5% just=c} style(header)={just=c};
define col11 / display "Med." style(column)={cellwidth=5% just=c} style(header)={just=c};
define col12 / display "Min." style(column)={cellwidth=5% just=c} style(header)={just=c};
define col13 / display "Max." style(column)={cellwidth=5% just=c} style(header)={just=c};
%if &_lspaged > 0 %then %do;
compute before _pagelbl / style={just=l};
line _pagelbl $200.;
endcomp;
%end;
break after _page / page;
run;
%mend _ls_report;
%_ls_report;
ods rtf close;
ods listing;
%ls_final_export;