1                                        The SAS System         09:42 Wednesday, October 21, 2009

NOTE: Copyright (c) 2002-2003 by SAS Institute Inc., Cary, NC, USA. 
NOTE: SAS (r) 9.1 (TS1M3)
      Licensed to SY TRUONG, Site 0051884001.
NOTE: This session is executing on the XP_PRO  platform.



NOTE: (E9BX04) SAS 9.1.3 SP 4

NOTE: SAS initialization used:
      real time           0.65 seconds
      cpu time            0.68 seconds
      

NOTE: AUTOEXEC processing beginning; file is C:\apache\htdocs\cdiscbuilder\saspgm\autoexec.sas.

NOTE: Libref _CDISC_ was successfully assigned as follows: 
      Engine:        V9 
      Physical Name: C:\apache\htdocs\cdiscbuilder\saspgm

NOTE: AUTOEXEC processing completed.

1          /*------------------------------------------------------------*
2          * program:     cdisc56.sas                                    *
3          * Description: Case #56. Upper Limit Range For Findings domains, this identifies
3        ! records that*
4          *              violate the condition [Normal Range Upper Limit-Standard Units *
5          *              greater than or equal to Normal Range Lower Limit-Standard Units], *
6          *              limited to records where [Normal Range Upper Limit-Standard Units is
6        ! not null and STNRHI is not null].*
7          * By:          Sy Truong, 10/14/2009                          *
8          *-------------------------------------------------------------*/
9          libname templib '../data';
NOTE: Libref TEMPLIB was successfully assigned as follows: 
      Engine:        V9 
      Physical Name: C:\apache\htdocs\cdiscbuilder\data
10         data templib.lb(label="Laboratory Data");
11         attrib STUDYID length=$7 label="Study Identifier";
12         attrib DOMAIN length=$2 label="Domain Abbreviation";
13         attrib USUBJID length=$14 label="Unique Subject Identifier";
14         attrib LBSEQ length=8 label="Sequence Number";
15         attrib LBREFID length=$7 label="Specimen ID";
16         attrib LBTESTCD length=$7 label="LAB Test or Examination Short Name";
17         attrib LBTEST length=$22 label="LAB Test or Examination Name";
18         attrib LBCAT length=$10 label="Category for Lab Test";
19         attrib LBORRES length=$8 label="Result or Finding in Original Units";
20         attrib LBORRESU length=$7 label="Original Units";
21         attrib LBORNRLO length=$8 label="Reference Range Lower Limit in Orig Unit";
22         attrib LBORNRHI length=$8 label="Reference Range Upper Limit in Orig Unit";
23         attrib LBSTRESC length=$8 label="Character Result/Finding in Std Format";
24         attrib LBSTRESN length=8 label="Numeric Result/Finding in Standard Units";
25         attrib LBSTRESU length=$7 label="Standard Units";
26         attrib LBSTNRLO length=8 label="Reference Range Lower Limit-Std Units";
2                                        The SAS System         09:42 Wednesday, October 21, 2009

27         attrib LBSTNRHI length=8 label="Reference Range Upper Limit-Std Units";
28         attrib LBSTNRC length=$19 label="Reference Range for Char Rslt-Std Units";
29         attrib LBNRIND length=$1 label="Reference Range Indicator";
30         attrib LBSPEC length=$5 label="Specimen Type";
31         attrib LBMETHOD length=$8 label="Method of Test or Examination";
32         attrib LBBLFL length=$1 label="Baseline Flag";
33         attrib LBFAST length=$1 label="Fasting Status";
34         attrib VISITNUM length=8 label="Visit Number";
35         attrib VISIT length=$7 label="Visit Name";
36         attrib VISITDY length=8 label="Planned Study Day of Visit";
37         attrib LBDTC length=$16 label="LBDTC";
38         attrib LBDY length=8 label="Study Day of Specimen Collection";
39         attrib LBDTC label="Date/Time of Specimen Collection" length=$20;
WARNING: Length of character variable LBDTC has already been set. 
         Use the LENGTH statement as the very first statement in the DATA STEP to declare the 
         length of a character variable.
40         attrib LBENDTC label="End Date/Time of Specimen Collection" length=$50;
41         
42         STUDYID="CDISC01";
43         DOMAIN="LB";
44         USUBJID="CDISC01.100008";
45         LBSEQ=1;
46         LBREFID="B232115";
47         LBTESTCD="BILI";
48         LBTEST="Bilirubin";
49         LBCAT="Chemistry";
50         LBORRES="0.4";
51         LBORRESU="MG/DL";
52         LBORNRLO=".0";
53         LBORNRHI="1.1";
54         LBSTRESC="6.8";
55         LBSTRESN=6.8;
56         LBSTRESU="UMOL/L";
57         LBSTNRLO=20;
58         LBSTNRHI=18.8;
59         LBSTNRC="";
60         LBNRIND="N";
61         LBSPEC="Blood";
62         LBMETHOD="";
63         LBBLFL="Y";
64         LBFAST="Y";
65         VISITNUM=1;
66         VISIT="SCREEN";
67         VISITDY=-13;
68         LBDTC="2003-04-15T11:20";
69         LBDY=-14;
70         LBDTC='12/09/2009';
71         LBENDTC="12/09/2009";
72         
73         output;
74         STUDYID="CDISC01";
75         DOMAIN="LB";
76         USUBJID="CDISC01.100008";
3                                        The SAS System         09:42 Wednesday, October 21, 2009

77         LBSEQ=2;
78         LBREFID="B290028";
79         LBTESTCD="BILI";
80         LBTEST="Bilirubin";
81         LBCAT="Chemistry";
82         LBORRES="0.3";
83         LBORRESU="MG/DL";
84         LBORNRLO="2.0";
85         LBORNRHI="1.1";
86         LBSTRESC="5.1";
87         LBSTRESN=5.1;
88         LBSTRESU="UMOL/L";
89         LBSTNRLO=0;
90         LBSTNRHI=18.8;
91         LBSTNRC="";
92         LBNRIND="N";
93         LBSPEC="Blood";
94         LBMETHOD="";
95         LBBLFL="";
96         LBFAST="N";
97         VISITNUM=10;
98         VISIT="WEEK 24";
99         VISITDY=169;
100        LBDTC="2003-10-13T11:55";
101        LBDY=168;
102        LBDTC='12/09/2009';
103        LBENDTC="12/09/2009";
104        
105        output;
106        STUDYID="CDISC01";
107        DOMAIN="LB";
108        USUBJID="CDISC01.100008";
109        LBSEQ=3;
110        LBREFID="B232115";
111        LBTESTCD="BUN";
112        LBTEST="Blood Urea Nitrogen";
113        LBCAT="Chemistry";
114        LBORRES="26";
115        LBORRESU="MG/DL";
116        LBORNRLO="9";
117        LBORNRHI="24";
118        LBSTRESC="9.28";
119        LBSTRESN=9.28;
120        LBSTRESU="MMOL/L";
121        LBSTNRLO=9.21;
122        LBSTNRHI=8.57;
123        LBSTNRC="";
124        LBNRIND="H";
125        LBSPEC="Blood";
126        LBMETHOD="";
127        LBBLFL="Y";
128        LBFAST="Y";
129        VISITNUM=1;
4                                        The SAS System         09:42 Wednesday, October 21, 2009

130        VISIT="SCREEN";
131        VISITDY=-13;
132        LBDTC="2003-04-15T11:20";
133        LBDY=-14;
134        LBDTC='12/09/2009';
135        LBENDTC="12/09/2009";
136        output;
137        STUDYID="CDISC01";
138        DOMAIN="LB";
139        USUBJID="CDISC01.100008";
140        LBSEQ=4;
141        LBREFID="B290028";
142        LBTESTCD="BUN";
143        LBTEST="Blood Urea Nitrogen";
144        LBCAT="Chemistry";
145        LBORRES="18";
146        LBORRESU="MG/DL";
147        LBORNRLO="9";
148        LBORNRHI="24";
149        LBSTRESC="6.43";
150        LBSTRESN=6.43;
151        LBSTRESU="MMOL/L";
152        LBSTNRLO=3.21;
153        LBSTNRHI=8.57;
154        LBSTNRC="";
155        LBNRIND="N";
156        LBSPEC="Blood";
157        LBMETHOD="";
158        LBBLFL="";
159        LBFAST="N";
160        VISITNUM=10;
161        VISIT="WEEK 24";
162        VISITDY=169;
163        LBDTC="2003-10-13T11:55";
164        LBDY=168;
165        LBDTC='12/09/2009';
166        LBENDTC="12/09/2009";
167        
168        output;
169        run;

NOTE: The data set TEMPLIB.LB has 4 observations and 29 variables.
NOTE: DATA statement used (Total process time):
      real time           0.03 seconds
      cpu time            0.03 seconds
      

170        %cdisc(datlib=templib,datname=lb);

171                             data misobs(keep=obsnum);
172                                retain obsnum 0;
173                                set templib.lb(keep=STUDYID);
174                                obsnum=obsnum+1;
5                                        The SAS System         09:42 Wednesday, October 21, 2009

175                                if missing(STUDYID) then
176                                   output;
177                             run;

NOTE: There were 4 observations read from the data set TEMPLIB.LB.
NOTE: The data set WORK.MISOBS has 0 observations and 1 variables.
NOTE: DATA statement used (Total process time):
      real time           0.01 seconds
      cpu time            0.01 seconds
      

178                             data misobs(keep=obsnum);
179                                retain obsnum 0;
180                                set templib.lb(keep=DOMAIN);
181                                obsnum=obsnum+1;
182                                if missing(DOMAIN) then
183                                   output;
184                             run;

NOTE: There were 4 observations read from the data set TEMPLIB.LB.
NOTE: The data set WORK.MISOBS has 0 observations and 1 variables.
NOTE: DATA statement used (Total process time):
      real time           0.01 seconds
      cpu time            0.01 seconds
      

185                             data misobs(keep=obsnum);
186                                retain obsnum 0;
187                                set templib.lb(keep=USUBJID);
188                                obsnum=obsnum+1;
189                                if missing(USUBJID) then
190                                   output;
191                             run;

NOTE: There were 4 observations read from the data set TEMPLIB.LB.
NOTE: The data set WORK.MISOBS has 0 observations and 1 variables.
NOTE: DATA statement used (Total process time):
      real time           0.01 seconds
      cpu time            0.01 seconds
      

192                             data misobs(keep=obsnum);
193                                retain obsnum 0;
194                                set templib.lb(keep=LBSEQ);
195                                obsnum=obsnum+1;
196                                if missing(LBSEQ) then
197                                   output;
198                             run;

NOTE: There were 4 observations read from the data set TEMPLIB.LB.
NOTE: The data set WORK.MISOBS has 0 observations and 1 variables.
NOTE: DATA statement used (Total process time):
      real time           0.01 seconds
6                                        The SAS System         09:42 Wednesday, October 21, 2009

      cpu time            0.01 seconds
      

199                             data misobs(keep=obsnum);
200                                retain obsnum 0;
201                                set templib.lb(keep=LBTESTCD);
202                                obsnum=obsnum+1;
203                                if missing(LBTESTCD) then
204                                   output;
205                             run;

NOTE: There were 4 observations read from the data set TEMPLIB.LB.
NOTE: The data set WORK.MISOBS has 0 observations and 1 variables.
NOTE: DATA statement used (Total process time):
      real time           0.01 seconds
      cpu time            0.01 seconds
      

206                             data misobs(keep=obsnum);
207                                retain obsnum 0;
208                                set templib.lb(keep=LBTEST);
209                                obsnum=obsnum+1;
210                                if missing(LBTEST) then
211                                   output;
212                             run;

NOTE: There were 4 observations read from the data set TEMPLIB.LB.
NOTE: The data set WORK.MISOBS has 0 observations and 1 variables.
NOTE: DATA statement used (Total process time):
      real time           0.01 seconds
      cpu time            0.01 seconds
      

213        proc sort data=templib.lb out=noflag;
214        by usubjid LBBLFL;
215        run;

NOTE: There were 4 observations read from the data set TEMPLIB.LB.
NOTE: The data set WORK.NOFLAG has 4 observations and 29 variables.
NOTE: PROCEDURE SORT used (Total process time):
      real time           0.04 seconds
      cpu time            0.04 seconds
      

216        data noflag;
217        attrib _flag length=$1;
218        set noflag(keep=usubjid LBBLFL);
219        by usubjid LBBLFL;
220        retain _flag;
221        if first.usubjid then _flag=LBBLFL;
222        if last.usubjid and _flag = LBBLFL and _flag = 'N' then output;
223        run;

7                                        The SAS System         09:42 Wednesday, October 21, 2009

NOTE: There were 4 observations read from the data set WORK.NOFLAG.
NOTE: The data set WORK.NOFLAG has 0 observations and 3 variables.
NOTE: DATA statement used (Total process time):
      real time           0.01 seconds
      cpu time            0.01 seconds
      

224        proc sort data=templib.lb out=conslab;
225        by LBTESTCD LBSTRESU;
226        run;

NOTE: There were 4 observations read from the data set TEMPLIB.LB.
NOTE: The data set WORK.CONSLAB has 4 observations and 29 variables.
NOTE: PROCEDURE SORT used (Total process time):
      real time           0.03 seconds
      cpu time            0.03 seconds
      

227        data conslab;
228        attrib _unit length=$20;
229        set conslab(keep=LBTESTCD LBSTRESU);
230        by LBTESTCD LBSTRESU;
231        retain _unit;
232        if first.LBTESTCD then _unit=LBSTRESU;
233        if last.LBTESTCD and trim(left(_unit)) ne trim(left(LBSTRESU)) then output;
234        run;

NOTE: There were 4 observations read from the data set WORK.CONSLAB.
NOTE: The data set WORK.CONSLAB has 0 observations and 3 variables.
NOTE: DATA statement used (Total process time):
      real time           0.01 seconds
      cpu time            0.01 seconds
      

235        data _26;
236        retain obsnum 0;
237        set templib.lb(keep=VISITNUM);
238        obsnum = obsnum + 1;
239        attrib visitnumc length=$50;
240        visitnumc = compress(visitnum);
241        if index(visitnumc,'.') gt 0 then visitnumc = compress(scan(visitnumc,2,'.'));
242        if length(compress(visitnumc))>2 then output;
243        run;

NOTE: Numeric values have been converted to character values at the places given by: 
      (Line):(Column).
      240:22   
NOTE: There were 4 observations read from the data set TEMPLIB.LB.
NOTE: The data set WORK._26 has 0 observations and 3 variables.
NOTE: DATA statement used (Total process time):
      real time           0.01 seconds
      cpu time            0.01 seconds
      
8                                        The SAS System         09:42 Wednesday, October 21, 2009


244        data _31;
245        retain obsnum 0;
246        set templib.lb(keep=LBBLFL);
247        obsnum = obsnum + 1;
248        if trim(left(LBBLFL)) not in ('Y','') then output;
249        run;

NOTE: There were 4 observations read from the data set TEMPLIB.LB.
NOTE: The data set WORK._31 has 0 observations and 2 variables.
NOTE: DATA statement used (Total process time):
      real time           0.01 seconds
      cpu time            0.01 seconds
      

250        data _34;
251        retain obsnum 0;
252        set templib.lb(keep=LBFAST);
253        obsnum = obsnum + 1;
254        if trim(left(LBFAST)) not in ('Y','N','U','') then output;
255        run;

NOTE: There were 4 observations read from the data set TEMPLIB.LB.
NOTE: The data set WORK._34 has 0 observations and 2 variables.
NOTE: DATA statement used (Total process time):
      real time           0.01 seconds
      cpu time            0.01 seconds
      

256        data _42;
257        retain obsnum 0;
258        set templib.lb(keep=LBTEST);
259        obsnum = obsnum + 1;
260        if length(trim(left(LBTEST))) > 40 then output;
261        run;

NOTE: There were 4 observations read from the data set TEMPLIB.LB.
NOTE: The data set WORK._42 has 0 observations and 2 variables.
NOTE: DATA statement used (Total process time):
      real time           0.01 seconds
      cpu time            0.01 seconds
      

262        data _43(keep= obsnum LBTESTCD status);
263        retain obsnum 0;
264        set templib.lb(keep=LBTESTCD);
265        obsnum = obsnum + 1;
266        attrib status length=$50;
267        if length(trim(left(LBTESTCD))) > 8 then do;
268        status = 'greater than 8 characters.';
269        output;
270        end;
271        if substr(LBTESTCD,1,1) in ('1','2','3','4','5','6','7','8','9','0') then do;
9                                        The SAS System         09:42 Wednesday, October 21, 2009

272        status = 'starts with a number.';
273        output;
274        end;
275        spec = '~`@#$%^&*()-+={}|\][:";<>?,./';
276        if index(LBTESTCD,"'") gt 0 then do;
277        status = 'contains special character(s).';
278        output;
279        end;
280        else do;
281        do i=1 to length(trim(left(LBTESTCD)));
282        if index(spec,substr(LBTESTCD,i,1)) gt 0 then do;
283        status = 'contains special character(s).';
284        output;
285        end;
286        end;
287        end;
288        run;

NOTE: There were 4 observations read from the data set TEMPLIB.LB.
NOTE: The data set WORK._43 has 0 observations and 3 variables.
NOTE: DATA statement used (Total process time):
      real time           0.03 seconds
      cpu time            0.03 seconds
      

289        proc sort data=templib.lb out=lb nodupkey;
290        by usubjid;
291        run;

NOTE: There were 4 observations read from the data set TEMPLIB.LB.
NOTE: 3 observations with duplicate key values were deleted.
NOTE: The data set WORK.LB has 1 observations and 29 variables.
NOTE: PROCEDURE SORT used (Total process time):
      real time           0.03 seconds
      cpu time            0.01 seconds
      

NOTE: Table WORK._72 created, with 1 rows and 1 columns.

292        proc sort data=templib.lb out=lb nodupkey;
293        by usubjid visitnum visit;
294        run;

NOTE: There were 4 observations read from the data set TEMPLIB.LB.
NOTE: 2 observations with duplicate key values were deleted.
NOTE: The data set WORK.LB has 2 observations and 29 variables.
NOTE: PROCEDURE SORT used (Total process time):
      real time           0.03 seconds
      cpu time            0.03 seconds
      

295        data lb;
296        attrib total length=$100;
10                                       The SAS System         09:42 Wednesday, October 21, 2009

297        set lb;
298        total = trim(left(usubjid))||'+'||compress(visitnum)||'+'||trim(left(visit));
299        put total=;
300        keep total;
301        run;

NOTE: Numeric values have been converted to character values at the places given by: 
      (Line):(Column).
      298:44   
total=CDISC01.100008+1+SCREEN
total=CDISC01.100008+10+WEEK 24
NOTE: There were 2 observations read from the data set WORK.LB.
NOTE: The data set WORK.LB has 2 observations and 1 variables.
NOTE: DATA statement used (Total process time):
      real time           0.01 seconds
      cpu time            0.01 seconds
      

302        data sv;
303        attrib total length=$100;
304        set templib.SV;
305        total = trim(left(usubjid))||'+'||compress(visitnum)||'+'||trim(left(visit));
306        put total=;
307        keep total;
308        run;

NOTE: Numeric values have been converted to character values at the places given by: 
      (Line):(Column).
      305:44   
total=101+1+SCREEN
total=101+2+DAY 1
total=101+3+WEEK 1
total=101+4+WEEK 2
total=101+8+FOLLOW-UP
NOTE: There were 5 observations read from the data set TEMPLIB.SV.
NOTE: The data set WORK.SV has 5 observations and 1 variables.
NOTE: DATA statement used (Total process time):
      real time           0.01 seconds
      cpu time            0.01 seconds
      

NOTE: Table WORK._73 created, with 2 rows and 1 columns.

309                 proc sort data=cdisc nodupkey;
310                    by libname datname datlab variable length label type case comment;
311                 run;

NOTE: There were 6 observations read from the data set WORK.CDISC.
NOTE: 0 observations with duplicate key values were deleted.
NOTE: The data set WORK.CDISC has 6 observations and 11 variables.
NOTE: PROCEDURE SORT used (Total process time):
      real time           0.03 seconds
      cpu time            0.03 seconds
11                                       The SAS System         09:42 Wednesday, October 21, 2009

      

312              proc sort data = work.cdisc;
313                 by libname datname datlab variable case;
314              run;

NOTE: There were 6 observations read from the data set WORK.CDISC.
NOTE: The data set WORK.CDISC has 6 observations and 11 variables.
NOTE: PROCEDURE SORT used (Total process time):
      real time           0.03 seconds
      cpu time            0.03 seconds
      

315        
316              proc format;
317                 *** Generate the comments for the CDISC evaluation case number ***;
318                 value $casefmt
319                 '1' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#1">1</a>'
320                 '2' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#2">2</a>'
321                 '3' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#3">3</a>'
322                 '4' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#4">4</a>'
323                 '5' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#5">5</a>'
324                 '6' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#6">6</a>'
325                 '7' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#7">7</a>'
326                 '8' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#8">8</a>'
327                 '9' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#9">9</a>'
328                 '10' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#10">10</a>'
329                 '11' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#11">11</a>'
330                 '12' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#12">12</a>'
331                 '13' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#13">13</a>'
332                 '14' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#14">14</a>'
333                 '15' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#15">15</a>'
334                 '16' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#16">16</a>'
335                 '17' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#17">17</a>'
336                 '18' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#18">18</a>'
337                 '19' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#19">19</a>'
338                 '20' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#20">20</a>'
339                 '21' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#21">21</a>'
340                 '22' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#22">22</a>'
341                 '23' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#23">23</a>'
342                 '24' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#24">24</a>'
343                 '25' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#25">25</a>'
344                 '26' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#26">26</a>'
345                 '27' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#27">27</a>'
346                 '28' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#28">28</a>'
347                 '29' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#29">29</a>'
348                 '30' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#30">30</a>'
349                 '31' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#31">31</a>'
350                 '32' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#32">32</a>'
351                 '33' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#33">33</a>'
352                 '34' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#34">34</a>'
353                 '35' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#35">35</a>'
354                 '36' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#36">36</a>'
12                                       The SAS System         09:42 Wednesday, October 21, 2009

355                 '37' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#37">37</a>'
356                 '38' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#38">38</a>'
357                 '39' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#39">39</a>'
358                 '40' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#40">40</a>'
359                 '41' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#41">41</a>'
360                 '42' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#42">42</a>'
361                 '43' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#43">43</a>'
362                 '44' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#44">44</a>'
363                 '45' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#45">45</a>'
364                 '46' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#46">46</a>'
365                 '47' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#47">47</a>'
366                 '48' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#48">48</a>'
367                 '49' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#49">49</a>'
368                 '50' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#50">50</a>'
369                 '51' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#51">51</a>'
370                 '52' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#52">52</a>'
371                 '53' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#53">53</a>'
372                 '54' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#54">54</a>'
373                 '55' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#55">55</a>'
374                 '56' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#56">56</a>'
375                 '57' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#57">57</a>'
376                 '58' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#58">58</a>'
377                 '59' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#59">59</a>'
378                 '60' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#60">60</a>'
379                 '61' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#61">61</a>'
380                 '62' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#62">62</a>'
381                 '63' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#63">63</a>'
382                 '64' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#64">64</a>'
383                 '65' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#65">65</a>'
384                 '66' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#66">66</a>'
385                 '67' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#67">67</a>'
386                 '68' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#68">68</a>'
387                 '69' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#69">69</a>'
388                 '70' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#70">70</a>'
389                 '71' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#71">71</a>'
390                 '72' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#72">72</a>'
391                 '73' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#73">73</a>'
392                 '74' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#74">74</a>'
393                 '75' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#75">75</a>'
394                 '76' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#76">76</a>'
395                 '77' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#77">77</a>'
396                 '78' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#78">78</a>'
397                 '79' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#79">79</a>'
398                 '80' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#80">80</a>'
399                 '81' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#81">81</a>'
400                 '82' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#82">82</a>'
401                 '83' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#83">83</a>'
402                 '84' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#84">84</a>'
403                 '85' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#85">85</a>'
404                 '86' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#86">86</a>'
405                 '87' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#87">87</a>'
406                 '88' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#88">88</a>'
407                 '89' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#89">89</a>'
13                                       The SAS System         09:42 Wednesday, October 21, 2009

408                 '90' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#90">90</a>'
409                 '91' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#91">91</a>'
410                 '92' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#92">92</a>'
411                 '93' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#93">93</a>'
412                 '94' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#94">94</a>'
413                 '95' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#95">95</a>'
414                 '96' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#96">96</a>'
415                 '97' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#97">97</a>'
416                 '98' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#98">98</a>'
417                 '99' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#99">99</a>'
418                 '100' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#100">100</a>'
419                 '101' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#101">101</a>'
420                 '102' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#102">102</a>'
421                 '103' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#103">103</a>'
422                 '104' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#104">104</a>'
423                 '105' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#105">105</a>'
424                 '106' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#106">106</a>'
425                 '107' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#107">107</a>'
426                 '108' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#108">108</a>'
427                 '109' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#109">109</a>'
428                 '110' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#110">110</a>'
429                 '111' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#111">111</a>'
430                 '112' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#112">112</a>'
431                 '113' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#113">113</a>';
NOTE: Format $CASEFMT has been output.
432        
433        
434        
435                 *** Generate the format for the bookmark of variables ***;
436                 value $bookfmt
437                 "lb.studyid" = '<a name="lb.studyid">lb.studyid</a>'
438                 "lb.domain" = '<a name="lb.domain">lb.domain</a>'
439                 "lb.usubjid" = '<a name="lb.usubjid">lb.usubjid</a>'
440                 "lb.lbseq" = '<a name="lb.lbseq">lb.lbseq</a>'
441                 "lb.lbrefid" = '<a name="lb.lbrefid">lb.lbrefid</a>'
442                 "lb.lbtestcd" = '<a name="lb.lbtestcd">lb.lbtestcd</a>'
443                 "lb.lbtest" = '<a name="lb.lbtest">lb.lbtest</a>'
444                 "lb.lbcat" = '<a name="lb.lbcat">lb.lbcat</a>'
445                 "lb.lborres" = '<a name="lb.lborres">lb.lborres</a>'
446                 "lb.lborresu" = '<a name="lb.lborresu">lb.lborresu</a>'
447                 "lb.lbornrlo" = '<a name="lb.lbornrlo">lb.lbornrlo</a>'
448                 "lb.lbornrhi" = '<a name="lb.lbornrhi">lb.lbornrhi</a>'
449                 "lb.lbstresc" = '<a name="lb.lbstresc">lb.lbstresc</a>'
450                 "lb.lbstresn" = '<a name="lb.lbstresn">lb.lbstresn</a>'
451                 "lb.lbstresu" = '<a name="lb.lbstresu">lb.lbstresu</a>'
452                 "lb.lbstnrlo" = '<a name="lb.lbstnrlo">lb.lbstnrlo</a>'
453                 "lb.lbstnrhi" = '<a name="lb.lbstnrhi">lb.lbstnrhi</a>'
454                 "lb.lbstnrc" = '<a name="lb.lbstnrc">lb.lbstnrc</a>'
455                 "lb.lbnrind" = '<a name="lb.lbnrind">lb.lbnrind</a>'
456                 "lb.lbspec" = '<a name="lb.lbspec">lb.lbspec</a>'
457                 "lb.lbmethod" = '<a name="lb.lbmethod">lb.lbmethod</a>'
458                 "lb.lbblfl" = '<a name="lb.lbblfl">lb.lbblfl</a>'
459                 "lb.lbfast" = '<a name="lb.lbfast">lb.lbfast</a>'
14                                       The SAS System         09:42 Wednesday, October 21, 2009

460                 "lb.visitnum" = '<a name="lb.visitnum">lb.visitnum</a>'
461                 "lb.visit" = '<a name="lb.visit">lb.visit</a>'
462                 "lb.visitdy" = '<a name="lb.visitdy">lb.visitdy</a>'
463                 "lb.lbdtc" = '<a name="lb.lbdtc">lb.lbdtc</a>'
464                 "lb.lbdy" = '<a name="lb.lbdy">lb.lbdy</a>'
465                 "lb.lbendtc" = '<a name="lb.lbendtc">lb.lbendtc</a>'
466                 ;
NOTE: Format $BOOKFMT has been output.
467        
468                 *** Generate the format for dataset linking ***;
469                 value $datfmt
470                 "ae" = '<a name="ae">ae</a><br>'
471                 "ae3a" = '<a name="ae3a">ae3a</a><br>'
472                 "cdisc10" = '<a name="cdisc10">cdisc10</a><br>'
473                 "cdisc11" = '<a name="cdisc11">cdisc11</a><br>'
474                 "cdisc14" = '<a name="cdisc14">cdisc14</a><br>'
475                 "cdisc15" = '<a name="cdisc15">cdisc15</a><br>'
476                 "cdisc18" = '<a name="cdisc18">cdisc18</a><br>'
477                 "cdisc2" = '<a name="cdisc2">cdisc2</a><br>'
478                 "cdisc21" = '<a name="cdisc21">cdisc21</a><br>'
479                 "cdisc2b_1" = '<a name="cdisc2b_1">cdisc2b_1</a><br>'
480                 "cdisc2b_2" = '<a name="cdisc2b_2">cdisc2b_2</a><br>'
481                 "cdisc2b_3" = '<a name="cdisc2b_3">cdisc2b_3</a><br>'
482                 "cdisc2_b" = '<a name="cdisc2_b">cdisc2_b</a><br>'
483                 "cdisc2_c" = '<a name="cdisc2_c">cdisc2_c</a><br>'
484                 "cdisc4" = '<a name="cdisc4">cdisc4</a><br>'
485                 "cdisc5" = '<a name="cdisc5">cdisc5</a><br>'
486                 "cdisc6" = '<a name="cdisc6">cdisc6</a><br>'
487                 "cdisc7" = '<a name="cdisc7">cdisc7</a><br>'
488                 "cdisc8" = '<a name="cdisc8">cdisc8</a><br>'
489                 "cdisc9" = '<a name="cdisc9">cdisc9</a><br>'
490                 "ce" = '<a name="ce">ce</a><br>'
491                 "cm" = '<a name="cm">cm</a><br>'
492                 "co" = '<a name="co">co</a><br>'
493                 "da" = '<a name="da">da</a><br>'
494                 "dm" = '<a name="dm">dm</a><br>'
495                 "ds" = '<a name="ds">ds</a><br>'
496                 "dv" = '<a name="dv">dv</a><br>'
497                 "eg" = '<a name="eg">eg</a><br>'
498                 "ex" = '<a name="ex">ex</a><br>'
499                 "fa" = '<a name="fa">fa</a><br>'
500                 "ie" = '<a name="ie">ie</a><br>'
501                 "lb" = '<a name="lb">lb</a><br>'
502                 "mb" = '<a name="mb">mb</a><br>'
503                 "mh" = '<a name="mh">mh</a><br>'
504                 "ms" = '<a name="ms">ms</a><br>'
505                 "notdm" = '<a name="notdm">notdm</a><br>'
506                 "pc" = '<a name="pc">pc</a><br>'
507                 "pe" = '<a name="pe">pe</a><br>'
508                 "pp" = '<a name="pp">pp</a><br>'
509                 "qs" = '<a name="qs">qs</a><br>'
510                 "relrec" = '<a name="relrec">relrec</a><br>'
511                 "sc" = '<a name="sc">sc</a><br>'
15                                       The SAS System         09:42 Wednesday, October 21, 2009

512                 "se" = '<a name="se">se</a><br>'
513                 "su" = '<a name="su">su</a><br>'
514                 "supmh" = '<a name="supmh">supmh</a><br>'
515                 "suppae" = '<a name="suppae">suppae</a><br>'
516                 "suppp" = '<a name="suppp">suppp</a><br>'
517                 "supte" = '<a name="supte">supte</a><br>'
518                 "supvs" = '<a name="supvs">supvs</a><br>'
519                 "sv" = '<a name="sv">sv</a><br>'
520                 "ta" = '<a name="ta">ta</a><br>'
521                 "te" = '<a name="te">te</a><br>'
522                 "ti" = '<a name="ti">ti</a><br>'
523                 "ts" = '<a name="ts">ts</a><br>'
524                 "tv" = '<a name="tv">tv</a><br>'
525                 "vs" = '<a name="vs">vs</a><br>'
526                 ;
NOTE: Format $DATFMT has been output.
527              run;

NOTE: PROCEDURE FORMAT used (Total process time):
      real time           0.06 seconds
      cpu time            0.01 seconds
      

528        
529              data work.cdisc;
530                 set work.cdisc;
531                 by libname datname datlab variable case;
532        
533                 attrib datvar label="Dataset and Variable" length=$100 format=$bookfmt.;
534                 if variable ne '' then
535                 datvar = compress(lowcase(datname) || "." || lowcase(variable));
536                 else datvar = lowcase(datname);
537                 /*format case casefmt.;*/
538                 attrib charcase label = "Case Number" length = $10;
539                 charcase = trim(left(put(case, best.)));
540                 format charcase $casefmt.;
541                 *format datname $datfmt.;
542              run;

NOTE: There were 6 observations read from the data set WORK.CDISC.
NOTE: The data set WORK.CDISC has 6 observations and 13 variables.
NOTE: DATA statement used (Total process time):
      real time           0.03 seconds
      cpu time            0.03 seconds
      

543        
544              *** Remove The Special Characters ******;
545              proc template;
546                 define style styles.test/store=work.test;
547                 parent=styles.default;
548                 style byline from titlesandfooters /
549                    protectspecialchars=off;
16                                       The SAS System         09:42 Wednesday, October 21, 2009

550                 end;
NOTE: STYLE 'Styles.Test' has been saved to: WORK.TEST
551              run;
NOTE: PROCEDURE TEMPLATE used (Total process time):
      real time           0.07 seconds
      cpu time            0.03 seconds
      

552        
553              proc sort data = work.cdisc;
554                 by libname datname datlab variable case;
555              run;

NOTE: There were 6 observations read from the data set WORK.CDISC.
NOTE: The data set WORK.CDISC has 6 observations and 13 variables.
NOTE: PROCEDURE SORT used (Total process time):
      real time           0.03 seconds
      cpu time            0.01 seconds
      

556        
557              ods listing close;
558              ods html file='cdisc56.html' style=styles.mxistyle;
NOTE: Writing HTML Body file: cdisc56.html
559              data work.lb (drop=usrname datetime);
560                 set work.cdisc;
561                 where lowcase(datname)=lowcase("lb");
562              run;

NOTE: There were 6 observations read from the data set WORK.CDISC.
      WHERE LOWCASE(datname)='lb';
NOTE: The data set WORK.LB has 6 observations and 11 variables.
NOTE: DATA statement used (Total process time):
      real time           0.03 seconds
      cpu time            0.03 seconds
      

563                       data lb(drop=xxx);
564                          set lb;
565                          retain xxx 0;
566                          if xxx = 2 then xxx = 1;
567                          else xxx = xxx + 1;
568                          yyy = compress(put(xxx,best.));
569                       run;

NOTE: There were 6 observations read from the data set WORK.LB.
NOTE: The data set WORK.LB has 6 observations and 12 variables.
NOTE: DATA statement used (Total process time):
      real time           0.01 seconds
      cpu time            0.01 seconds
      

570        
17                                       The SAS System         09:42 Wednesday, October 21, 2009

571              %let newlab = %nrbquote();
572              title1 height=2 '<a name="lb"> Findings from CDISC Evaluation</a>';
573              title2 height=2 "Data Table Name = lb Data Table Label=&newlab";
574              footnote1 height=2 "Generated on: 10/21/2009,  9:42:49 am, Administrator";
575              footnote2 height=2 "Located at: C:\apache\htdocs\cdiscbuilder\data";
576               proc report data = work.lb nowindows;
577                    column obs libname datvar label type length charcase comment yyy;
578                       define obs/computed 'Obs';
579                       define libname/width=20;
580                       define datvar/width=50;
581                       define label/width=50;
582                       define type/width=20;
583                       define length/width=50;
584                       define comment/width=50;
585                       define charcase/width=50;
586                       define yyy/ noprint;
587        
588                    compute yyy;
589                       if yyy = "2" then do;
590                          call define (_row_,'style','STYLE=[BACKGROUND=cxFFFFCC]');
591                       end;
592                    endcompute;
593        
594                    compute charcase;
595                       if charcase='1' then call define
595      ! ('charcase','style','STYLE=[BACKGROUND=CXccffcc JUST=CENTER]');
596                       if charcase='2' then call define
596      ! ('charcase','style','STYLE=[BACKGROUND=CXcd0030 JUST=CENTER]');
597                       if charcase='3' then call define
597      ! ('charcase','style','STYLE=[BACKGROUND=CXcd0094 JUST=CENTER]');
598                       if charcase='4' then call define
598      ! ('charcase','style','STYLE=[BACKGROUND=CXcd00f8 JUST=CENTER]');
599                       if charcase='5' then call define
599      ! ('charcase','style','STYLE=[BACKGROUND=CXcd015c JUST=CENTER]');
600                       if charcase='6' then call define
600      ! ('charcase','style','STYLE=[BACKGROUND=CXcd01c0 JUST=CENTER]');
601                       if charcase='7' then call define
601      ! ('charcase','style','STYLE=[BACKGROUND=CXcd0224 JUST=CENTER]');
602                       if charcase='8' then call define
602      ! ('charcase','style','STYLE=[BACKGROUND=CXcd0288 JUST=CENTER]');
603                       if charcase='9' then call define
603      ! ('charcase','style','STYLE=[BACKGROUND=CXcd02ec JUST=CENTER]');
604                       if charcase='10' then call define
604      ! ('charcase','style','STYLE=[BACKGROUND=CXcd0350 JUST=CENTER]');
605                       if charcase='11' then call define
605      ! ('charcase','style','STYLE=[BACKGROUND=CXcd03b4 JUST=CENTER]');
606                       if charcase='12' then call define
606      ! ('charcase','style','STYLE=[BACKGROUND=CXcd0418 JUST=CENTER]');
607                       if charcase='13' then call define
607      ! ('charcase','style','STYLE=[BACKGROUND=CXcd047c JUST=CENTER]');
608                       if charcase='14' then call define
608      ! ('charcase','style','STYLE=[BACKGROUND=CXcd04e0 JUST=CENTER]');
609                       if charcase='15' then call define
18                                       The SAS System         09:42 Wednesday, October 21, 2009

609      ! ('charcase','style','STYLE=[BACKGROUND=CXcd0544 JUST=CENTER]');
610                       if charcase='16' then call define
610      ! ('charcase','style','STYLE=[BACKGROUND=CXcd05a8 JUST=CENTER]');
611                       if charcase='17' then call define
611      ! ('charcase','style','STYLE=[BACKGROUND=CXcd060c JUST=CENTER]');
612                       if charcase='18' then call define
612      ! ('charcase','style','STYLE=[BACKGROUND=CXcd0670 JUST=CENTER]');
613                       if charcase='19' then call define
613      ! ('charcase','style','STYLE=[BACKGROUND=CXcd06d4 JUST=CENTER]');
614                       if charcase='20' then call define
614      ! ('charcase','style','STYLE=[BACKGROUND=CXffffcc JUST=CENTER]');
615                       if charcase='21' then call define
615      ! ('charcase','style','STYLE=[BACKGROUND=CX398C54 JUST=CENTER]');
616                       if charcase='22' then call define
616      ! ('charcase','style','STYLE=[BACKGROUND=CX398d1c JUST=CENTER]');
617                       if charcase='23' then call define
617      ! ('charcase','style','STYLE=[BACKGROUND=CX398d80 JUST=CENTER]');
618                       if charcase='24' then call define
618      ! ('charcase','style','STYLE=[BACKGROUND=CX398de4 JUST=CENTER]');
619                       if charcase='25' then call define
619      ! ('charcase','style','STYLE=[BACKGROUND=CX398e48 JUST=CENTER]');
620                       if charcase='26' then call define
620      ! ('charcase','style','STYLE=[BACKGROUND=CX398eac JUST=CENTER]');
621                       if charcase='27' then call define
621      ! ('charcase','style','STYLE=[BACKGROUND=CX398f10 JUST=CENTER]');
622                       if charcase='28' then call define
622      ! ('charcase','style','STYLE=[BACKGROUND=CX398f74 JUST=CENTER]');
623                       if charcase='29' then call define
623      ! ('charcase','style','STYLE=[BACKGROUND=CX398fd8 JUST=CENTER]');
624                       if charcase='30' then call define
624      ! ('charcase','style','STYLE=[BACKGROUND=CX39903c JUST=CENTER]');
625                       if charcase='31' then call define
625      ! ('charcase','style','STYLE=[BACKGROUND=CX3990a0 JUST=CENTER]');
626                       if charcase='32' then call define
626      ! ('charcase','style','STYLE=[BACKGROUND=CX399104 JUST=CENTER]');
627                       if charcase='33' then call define
627      ! ('charcase','style','STYLE=[BACKGROUND=CX399168 JUST=CENTER]');
628                       if charcase='34' then call define
628      ! ('charcase','style','STYLE=[BACKGROUND=CX3991cc JUST=CENTER]');
629                       if charcase='35' then call define
629      ! ('charcase','style','STYLE=[BACKGROUND=CX399230 JUST=CENTER]');
630                       if charcase='36' then call define
630      ! ('charcase','style','STYLE=[BACKGROUND=CX399294 JUST=CENTER]');
631                       if charcase='37' then call define
631      ! ('charcase','style','STYLE=[BACKGROUND=CX3992f8 JUST=CENTER]');
632                       if charcase='38' then call define
632      ! ('charcase','style','STYLE=[BACKGROUND=CX39935c JUST=CENTER]');
633                       if charcase='39' then call define
633      ! ('charcase','style','STYLE=[BACKGROUND=CXffcccc JUST=CENTER]');
634                       if charcase='40' then call define
634      ! ('charcase','style','STYLE=[BACKGROUND=CXffcd30 JUST=CENTER]');
635                       if charcase='41' then call define
635      ! ('charcase','style','STYLE=[BACKGROUND=CXffcd94 JUST=CENTER]');
19                                       The SAS System         09:42 Wednesday, October 21, 2009

636                       if charcase='42' then call define
636      ! ('charcase','style','STYLE=[BACKGROUND=CXffcdf8 JUST=CENTER]');
637                       if charcase='43' then call define
637      ! ('charcase','style','STYLE=[BACKGROUND=CXffce5c JUST=CENTER]');
638                       if charcase='44' then call define
638      ! ('charcase','style','STYLE=[BACKGROUND=CXffcec0 JUST=CENTER]');
639                       if charcase='45' then call define
639      ! ('charcase','style','STYLE=[BACKGROUND=CXffcf24 JUST=CENTER]');
640                       if charcase='46' then call define
640      ! ('charcase','style','STYLE=[BACKGROUND=CXffcf88 JUST=CENTER]');
641                       if charcase='47' then call define
641      ! ('charcase','style','STYLE=[BACKGROUND=CXffcfec JUST=CENTER]');
642                       if charcase='48' then call define
642      ! ('charcase','style','STYLE=[BACKGROUND=CXffd050 JUST=CENTER]');
643                       if charcase='49' then call define
643      ! ('charcase','style','STYLE=[BACKGROUND=CXffd0b4 JUST=CENTER]');
644                       if charcase='50' then call define
644      ! ('charcase','style','STYLE=[BACKGROUND=CXffd118 JUST=CENTER]');
645                       if charcase='51' then call define
645      ! ('charcase','style','STYLE=[BACKGROUND=CXffd17c JUST=CENTER]');
646                       if charcase='52' then call define
646      ! ('charcase','style','STYLE=[BACKGROUND=CXffd1e0 JUST=CENTER]');
647                       if charcase='53' then call define
647      ! ('charcase','style','STYLE=[BACKGROUND=CXffd244 JUST=CENTER]');
648                       if charcase='54' then call define
648      ! ('charcase','style','STYLE=[BACKGROUND=CXffd2a8 JUST=CENTER]');
649                       if charcase='55' then call define
649      ! ('charcase','style','STYLE=[BACKGROUND=CXffd30c JUST=CENTER]');
650                       if charcase='56' then call define
650      ! ('charcase','style','STYLE=[BACKGROUND=CXffd370 JUST=CENTER]');
651                       if charcase='57' then call define
651      ! ('charcase','style','STYLE=[BACKGROUND=CXffd3d4 JUST=CENTER]');
652                       if charcase='58' then call define
652      ! ('charcase','style','STYLE=[BACKGROUND=CXccccff JUST=CENTER]');
653                       if charcase='59' then call define
653      ! ('charcase','style','STYLE=[BACKGROUND=CXcccd63 JUST=CENTER]');
654                       if charcase='60' then call define
654      ! ('charcase','style','STYLE=[BACKGROUND=CXcccdc7 JUST=CENTER]');
655                       if charcase='61' then call define
655      ! ('charcase','style','STYLE=[BACKGROUND=CXccce2b JUST=CENTER]');
656                       if charcase='62' then call define
656      ! ('charcase','style','STYLE=[BACKGROUND=CXccce8f JUST=CENTER]');
657                       if charcase='63' then call define
657      ! ('charcase','style','STYLE=[BACKGROUND=CXcccef3 JUST=CENTER]');
658                       if charcase='64' then call define
658      ! ('charcase','style','STYLE=[BACKGROUND=CXcccf57 JUST=CENTER]');
659                       if charcase='65' then call define
659      ! ('charcase','style','STYLE=[BACKGROUND=CXcccfbb JUST=CENTER]');
660                       if charcase='66' then call define
660      ! ('charcase','style','STYLE=[BACKGROUND=CXccd01f JUST=CENTER]');
661                       if charcase='67' then call define
661      ! ('charcase','style','STYLE=[BACKGROUND=CXccd083 JUST=CENTER]');
662                       if charcase='68' then call define
20                                       The SAS System         09:42 Wednesday, October 21, 2009

662      ! ('charcase','style','STYLE=[BACKGROUND=CXccd0e7 JUST=CENTER]');
663                       if charcase='69' then call define
663      ! ('charcase','style','STYLE=[BACKGROUND=CXccd14b JUST=CENTER]');
664                       if charcase='70' then call define
664      ! ('charcase','style','STYLE=[BACKGROUND=CXccd1af JUST=CENTER]');
665                       if charcase='71' then call define
665      ! ('charcase','style','STYLE=[BACKGROUND=CXccd213 JUST=CENTER]');
666                       if charcase='72' then call define
666      ! ('charcase','style','STYLE=[BACKGROUND=CXccd277 JUST=CENTER]');
667                       if charcase='73' then call define
667      ! ('charcase','style','STYLE=[BACKGROUND=CXccd2db JUST=CENTER]');
668                       if charcase='74' then call define
668      ! ('charcase','style','STYLE=[BACKGROUND=CXccd33f JUST=CENTER]');
669                       if charcase='75' then call define
669      ! ('charcase','style','STYLE=[BACKGROUND=CXccd3a3 JUST=CENTER]');
670                       if charcase='76' then call define
670      ! ('charcase','style','STYLE=[BACKGROUND=CXccd407 JUST=CENTER]');
671                       if charcase='77' then call define
671      ! ('charcase','style','STYLE=[BACKGROUND=CX99ccff JUST=CENTER]');
672                       if charcase='78' then call define
672      ! ('charcase','style','STYLE=[BACKGROUND=CX99cd63 JUST=CENTER]');
673                       if charcase='79' then call define
673      ! ('charcase','style','STYLE=[BACKGROUND=CX99cdc7 JUST=CENTER]');
674                       if charcase='80' then call define
674      ! ('charcase','style','STYLE=[BACKGROUND=CX99ce2b JUST=CENTER]');
675                       if charcase='81' then call define
675      ! ('charcase','style','STYLE=[BACKGROUND=CX99ce8f JUST=CENTER]');
676                       if charcase='82' then call define
676      ! ('charcase','style','STYLE=[BACKGROUND=CX99cef3 JUST=CENTER]');
677                       if charcase='83' then call define
677      ! ('charcase','style','STYLE=[BACKGROUND=CX99cf57 JUST=CENTER]');
678                       if charcase='84' then call define
678      ! ('charcase','style','STYLE=[BACKGROUND=CX99cfbb JUST=CENTER]');
679                       if charcase='85' then call define
679      ! ('charcase','style','STYLE=[BACKGROUND=CX99d01f JUST=CENTER]');
680                       if charcase='86' then call define
680      ! ('charcase','style','STYLE=[BACKGROUND=CX99d083 JUST=CENTER]');
681                       if charcase='87' then call define
681      ! ('charcase','style','STYLE=[BACKGROUND=CX99d0e7 JUST=CENTER]');
682                       if charcase='88' then call define
682      ! ('charcase','style','STYLE=[BACKGROUND=CX99d14b JUST=CENTER]');
683                       if charcase='89' then call define
683      ! ('charcase','style','STYLE=[BACKGROUND=CX99d1af JUST=CENTER]');
684                       if charcase='90' then call define
684      ! ('charcase','style','STYLE=[BACKGROUND=CX99d213 JUST=CENTER]');
685                       if charcase='91' then call define
685      ! ('charcase','style','STYLE=[BACKGROUND=CX99d277 JUST=CENTER]');
686                       if charcase='92' then call define
686      ! ('charcase','style','STYLE=[BACKGROUND=CX99d2db JUST=CENTER]');
687                       if charcase='93' then call define
687      ! ('charcase','style','STYLE=[BACKGROUND=CX99d33f JUST=CENTER]');
688                       if charcase='94' then call define
688      ! ('charcase','style','STYLE=[BACKGROUND=CX99d3a3 JUST=CENTER]');
21                                       The SAS System         09:42 Wednesday, October 21, 2009

689                       if charcase='95' then call define
689      ! ('charcase','style','STYLE=[BACKGROUND=CX99d407 JUST=CENTER]');
690                       if charcase='96' then call define
690      ! ('charcase','style','STYLE=[BACKGROUND=CXffcc99 JUST=CENTER]');
691                       if charcase='97' then call define
691      ! ('charcase','style','STYLE=[BACKGROUND=CXffccfd JUST=CENTER]');
692                       if charcase='98' then call define
692      ! ('charcase','style','STYLE=[BACKGROUND=CXffcd61 JUST=CENTER]');
693                       if charcase='99' then call define
693      ! ('charcase','style','STYLE=[BACKGROUND=CXffcdc5 JUST=CENTER]');
694                       if charcase='100' then call define
694      ! ('charcase','style','STYLE=[BACKGROUND=CXffce29 JUST=CENTER]');
695                       if charcase='101' then call define
695      ! ('charcase','style','STYLE=[BACKGROUND=CXffce8d JUST=CENTER]');
696                       if charcase='102' then call define
696      ! ('charcase','style','STYLE=[BACKGROUND=CXffcef1 JUST=CENTER]');
697                       if charcase='103' then call define
697      ! ('charcase','style','STYLE=[BACKGROUND=CXffcf55 JUST=CENTER]');
698                       if charcase='104' then call define
698      ! ('charcase','style','STYLE=[BACKGROUND=CXffcfb9 JUST=CENTER]');
699                       if charcase='105' then call define
699      ! ('charcase','style','STYLE=[BACKGROUND=CXffd01d JUST=CENTER]');
700                       if charcase='106' then call define
700      ! ('charcase','style','STYLE=[BACKGROUND=CXffd081 JUST=CENTER]');
701                       if charcase='107' then call define
701      ! ('charcase','style','STYLE=[BACKGROUND=CXffd0e5 JUST=CENTER]');
702                       if charcase='108' then call define
702      ! ('charcase','style','STYLE=[BACKGROUND=CXffd149 JUST=CENTER]');
703                       if charcase='109' then call define
703      ! ('charcase','style','STYLE=[BACKGROUND=CXffd1ad JUST=CENTER]');
704                       if charcase='110' then call define
704      ! ('charcase','style','STYLE=[BACKGROUND=CXffd211 JUST=CENTER]');
705                       if charcase='111' then call define
705      ! ('charcase','style','STYLE=[BACKGROUND=CXffd275 JUST=CENTER]');
706                       if charcase='112' then call define
706      ! ('charcase','style','STYLE=[BACKGROUND=CXffd2d9 JUST=CENTER]');
707                       if charcase='113' then call define
707      ! ('charcase','style','STYLE=[BACKGROUND=CXffd33d JUST=CENTER]');
708                    endcomp;
709        
710                    compute obs;
711                       dobs + 1;
712                       obs = dobs;
713                    endcompute;
714                 run;

NOTE: There were 6 observations read from the data set WORK.LB.
NOTE: PROCEDURE REPORT used (Total process time):
      real time           0.18 seconds
      cpu time            0.03 seconds
      

715              run;
22                                       The SAS System         09:42 Wednesday, October 21, 2009

716              ods html close;
717              ods listing;
NOTE: PROCEDURE DISPLAY used (Total process time):
      real time           3.57 seconds
      cpu time            3.04 seconds
      


NOTE: SAS Institute Inc., SAS Campus Drive, Cary, NC USA 27513-2414
NOTE: The SAS System used:
      real time           4.34 seconds
      cpu time            3.81 seconds
      
