1                                        The SAS System         09:48 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.62 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:     cdisc89.sas                                    *
3          * Description: Case #89. Sex Code List For DM domains, this identifies records *
4          *              where value for [SEX] is not found in Codelist [SEX].*
5          * By:          Sy Truong, 10/14/2009                          *
6          *-------------------------------------------------------------*/
7          
8          libname datalib '../data';
NOTE: Libref DATALIB was successfully assigned as follows: 
      Engine:        V9 
      Physical Name: C:\apache\htdocs\cdiscbuilder\data
9          options nofmterr;
10         data datalib.DM (label="Demographics Domain Model");
11         attrib STUDYID label="Study Identifier"  length=$100;
12         attrib DOMAIN label="Domain Abbreviation"  length=$100;
13         attrib USUBJID  label="Unique Subject Identifier"  length=$100;
14         attrib SUBJID  label="Subject Identifier for the Study" length=$100;
15         attrib RFSTDTC  label="Subject Reference Start Date/Time" length=$100;
16         attrib RFENDTC label="Subject Reference End Date/Time" length=$100;
17         attrib SITEID  label="Study Site Identifier"  length=$100;
18         attrib INVID  label="Investigator Identifier"  length=$100;
19         attrib INVNAM  label="Investigator Name"  length=$100;
20         attrib BRTHDTC  label="Date/Time of Birth"  length=$100;
21         attrib AGE  label="Age in AGEU at RFSTDTC " length=8;
22         attrib AGEU  label="Age Units"  length=$100;
23         attrib SEX  label="Sex"  length=$100 format=$SEX.;                                                       _____                                                       _____                                                       _____
                                                       484                                                       484                                                       484
NOTE 484-185: Format $SEX was not found or could not be loaded.

24         attrib RACE label="Race"  length=$100;
25         attrib ETHNIC label="Ethnicity"  length=$100;
2                                        The SAS System         09:48 Wednesday, October 21, 2009

26         attrib ARMCD  label="Planned Arm Code"  length=$100;
27         attrib ARM  label="Description of Planned Arm" length=$100;
28         attrib COUNTRY  label="Country"  length=$100;
29         attrib DMDTC  label="Date/Time of Collection"  length=$100;
30         attrib DMDY  label="Study Day of Collection" length=8;
31         
32         
33         STUDYID="001";
34         DOMAIN="001";
35         USUBJID="001";
36         SUBJID="001";
37         RFSTDTC="001";
38         RFENDTC="001";
39         SITEID="001";
40         INVID="001";
41         INVNAM="001";
42         BRTHDTC="001";
43         AGE=23;
44         AGEU="001";
45         SEX="Mdfs";
46         RACE="001";
47         ETHNIC="001";
48         ARMCD="001";
49         COUNTRY="HUE";
50         output;
51         
52         STUDYID="001";
53         DOMAIN="001";
54         USUBJID="003";
55         SUBJID="001";
56         RFSTDTC="001";
57         RFENDTC="001";
58         SITEID="001";
59         INVID="001";
60         INVNAM="001";
61         BRTHDTC="001";
62         AGE=1;
63         AGEU="001";
64         SEX="F";
65         RACE="001";
66         ETHNIC="001";
67         ARMCD="001";
68         COUNTRY="HUE";
69         output;
70         
71         STUDYID="001";
72         DOMAIN="001";
73         USUBJID="002";
74         SUBJID="001";
75         RFSTDTC="001";
76         RFENDTC="001";
77         SITEID="001";
78         INVID="001";
3                                        The SAS System         09:48 Wednesday, October 21, 2009

79         INVNAM="001";
80         BRTHDTC="001";
81         AGE=23;
82         AGEU="001";
83         SEX="U";
84         RACE="001";
85         ETHNIC="001";
86         ARMCD="001";
87         COUNTRY="HUE";
88         output;
89         
90         run;

NOTE: Variable ARM is uninitialized.
NOTE: Variable DMDTC is uninitialized.
NOTE: Variable DMDY is uninitialized.
NOTE: The data set DATALIB.DM has 3 observations and 20 variables.
NOTE: DATA statement used (Total process time):
      real time           0.10 seconds
      cpu time            0.01 seconds
      

91         
92         /*----------------------------------------------------*
93         * Program: cdisc.sas
94         * Path: C:\Program Files\SAS 9.2\SASFoundation\9.2
95         * Description: Verify SAS datasets against CDISC standards
96         * By: Jeanny Huynhh, %cdisc, 10/05/2009,  2:55:15 pm
97         *-----------------------------------------------------*/
98         *** Apply the CDISC check ***;
99         %cdisc (datlib=datalib,
100                datname= dm);

101                             data misobs(keep=obsnum);
102                                retain obsnum 0;
103                                set datalib.dm(keep=STUDYID);
104                                obsnum=obsnum+1;
105                                if missing(STUDYID) then
106                                   output;
107                             run;

NOTE: There were 3 observations read from the data set DATALIB.DM.
NOTE: The data set WORK.MISOBS has 0 observations and 1 variables.
NOTE: DATA statement used (Total process time):
      real time           0.03 seconds
      cpu time            0.03 seconds
      

108                             data misobs(keep=obsnum);
109                                retain obsnum 0;
110                                set datalib.dm(keep=DOMAIN);
111                                obsnum=obsnum+1;
112                                if missing(DOMAIN) then
4                                        The SAS System         09:48 Wednesday, October 21, 2009

113                                   output;
114                             run;

NOTE: There were 3 observations read from the data set DATALIB.DM.
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
      

115                             data misobs(keep=obsnum);
116                                retain obsnum 0;
117                                set datalib.dm(keep=USUBJID);
118                                obsnum=obsnum+1;
119                                if missing(USUBJID) then
120                                   output;
121                             run;

NOTE: There were 3 observations read from the data set DATALIB.DM.
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
      

122                             data misobs(keep=obsnum);
123                                retain obsnum 0;
124                                set datalib.dm(keep=SUBJID);
125                                obsnum=obsnum+1;
126                                if missing(SUBJID) then
127                                   output;
128                             run;

NOTE: There were 3 observations read from the data set DATALIB.DM.
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
      

129                             data misobs(keep=obsnum);
130                                retain obsnum 0;
131                                set datalib.dm(keep=SITEID);
132                                obsnum=obsnum+1;
133                                if missing(SITEID) then
134                                   output;
135                             run;

NOTE: There were 3 observations read from the data set DATALIB.DM.
NOTE: The data set WORK.MISOBS has 0 observations and 1 variables.
NOTE: DATA statement used (Total process time):
      real time           0.03 seconds
      cpu time            0.03 seconds
5                                        The SAS System         09:48 Wednesday, October 21, 2009

      

136                             data misobs(keep=obsnum);
137                                retain obsnum 0;
138                                set datalib.dm(keep=SEX);
139                                obsnum=obsnum+1;
140                                if missing(SEX) then
141                                   output;
142                             run;

NOTE: Format $SEX was not found or could not be loaded.
NOTE: There were 3 observations read from the data set DATALIB.DM.
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
      

143                             data misobs(keep=obsnum);
144                                retain obsnum 0;
145                                set datalib.dm(keep=ARMCD);
146                                obsnum=obsnum+1;
147                                if missing(ARMCD) then
148                                   output;
149                             run;

NOTE: There were 3 observations read from the data set DATALIB.DM.
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
      

150                             data misobs(keep=obsnum);
151                                retain obsnum 0;
152                                set datalib.dm(keep=ARM);
153                                obsnum=obsnum+1;
154                                if missing(ARM) then
155                                   output;
156                             run;

NOTE: There were 3 observations read from the data set DATALIB.DM.
NOTE: The data set WORK.MISOBS has 3 observations and 1 variables.
NOTE: DATA statement used (Total process time):
      real time           0.01 seconds
      cpu time            0.01 seconds
      

157                             data misobs(keep=obsnum);
158                                retain obsnum 0;
159                                set datalib.dm(keep=COUNTRY);
160                                obsnum=obsnum+1;
161                                if missing(COUNTRY) then
6                                        The SAS System         09:48 Wednesday, October 21, 2009

162                                   output;
163                             run;

NOTE: There were 3 observations read from the data set DATALIB.DM.
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
      

164        data _27;
165        retain obsnum 0;
166        set datalib.dm(keep=ARMCD ARM);
167        obsnum = obsnum + 1;
168        if (trim(left(upcase(ARMCD))) = 'SCRNFAIL' and trim(left(upcase(ARM))) ne 'SCREEN
168      ! FAILURE') or (trim(left(upcase(ARMCD))) ne 'SCRNFAIL' and trim(left(upcase(ARM))) =
168      ! 'SCREEN FAILURE') then output;
169        run;

NOTE: There were 3 observations read from the data set DATALIB.DM.
NOTE: The data set WORK._27 has 0 observations and 3 variables.
NOTE: DATA statement used (Total process time):
      real time           0.01 seconds
      cpu time            0.01 seconds
      

170        proc sort data=datalib.dm out=dm nodupkey;
171        by usubjid;
172        run;

NOTE: There were 3 observations read from the data set DATALIB.DM.
NOTE: 0 observations with duplicate key values were deleted.
NOTE: The data set WORK.DM has 3 observations and 20 variables.
NOTE: PROCEDURE SORT used (Total process time):
      real time           0.04 seconds
      cpu time            0.04 seconds
      

NOTE: Table WORK._72 created, with 0 rows and 1 columns.

173        proc sort data=datalib.dm out=dm nodupkey;
174        by ARMCD;
175        run;

NOTE: There were 3 observations read from the data set DATALIB.DM.
NOTE: 2 observations with duplicate key values were deleted.
NOTE: The data set WORK.DM has 1 observations and 20 variables.
NOTE: PROCEDURE SORT used (Total process time):
      real time           0.03 seconds
      cpu time            0.03 seconds
      

176        proc sort data=datalib.TA out=ta nodupkey;
7                                        The SAS System         09:48 Wednesday, October 21, 2009

177        by ARMCD;
178        run;

NOTE: There were 4 observations read from the data set DATALIB.TA.
NOTE: 0 observations with duplicate key values were deleted.
NOTE: The data set WORK.TA has 4 observations and 10 variables.
NOTE: PROCEDURE SORT used (Total process time):
      real time           0.03 seconds
      cpu time            0.03 seconds
      

NOTE: Table WORK._74 created, with 1 rows and 1 columns.

179        proc sort data=datalib.dm out=dm;
180        by USUBJID;
181        run;

NOTE: There were 3 observations read from the data set DATALIB.DM.
NOTE: The data set WORK.DM has 3 observations and 20 variables.
NOTE: PROCEDURE SORT used (Total process time):
      real time           0.03 seconds
      cpu time            0.03 seconds
      

182        data ds;
183        retain obsnum 0;
184        set datalib.ds;
185        obsnum = obsnum + 1;
186        run;

NOTE: There were 7 observations read from the data set DATALIB.DS.
NOTE: The data set WORK.DS has 7 observations and 16 variables.
NOTE: DATA statement used (Total process time):
      real time           0.03 seconds
      cpu time            0.03 seconds
      

187        proc sort data=DS;
188        by USUBJID DSSEQ;
189        run;

NOTE: There were 7 observations read from the data set WORK.DS.
NOTE: The data set WORK.DS has 7 observations and 16 variables.
NOTE: PROCEDURE SORT used (Total process time):
      real time           0.06 seconds
      cpu time            0.01 seconds
      

NOTE: Table WORK._77 created, with 7 rows and 3 columns.

190        proc sort data=datalib.dm out=dm;
191        by USUBJID;
192        run;
8                                        The SAS System         09:48 Wednesday, October 21, 2009


NOTE: There were 3 observations read from the data set DATALIB.DM.
NOTE: The data set WORK.DM has 3 observations and 20 variables.
NOTE: PROCEDURE SORT used (Total process time):
      real time           0.03 seconds
      cpu time            0.03 seconds
      

193        data ex;
194        retain obsnum 0;
195        set datalib.ex;
196        obsnum = obsnum + 1;
197        run;

NOTE: There were 7 observations read from the data set DATALIB.EX.
NOTE: The data set WORK.EX has 7 observations and 13 variables.
NOTE: DATA statement used (Total process time):
      real time           0.03 seconds
      cpu time            0.03 seconds
      

198        proc sort data=ex;
199        by USUBJID EXSEQ;
200        run;

NOTE: There were 7 observations read from the data set WORK.EX.
NOTE: The data set WORK.EX has 7 observations and 13 variables.
NOTE: PROCEDURE SORT used (Total process time):
      real time           0.03 seconds
      cpu time            0.03 seconds
      

NOTE: Table WORK._78 created, with 7 rows and 3 columns.

201        data dm;
202        retain obsnum 0;
203        set datalib.dm(keep=ARMCD ARM);
204        attrib total length=$1000;
205        total = trim(left(ARMCD))||'+'||trim(left(ARM));
206        obsnum = obsnum + 1;
207        run;

NOTE: There were 3 observations read from the data set DATALIB.DM.
NOTE: The data set WORK.DM has 3 observations and 4 variables.
NOTE: DATA statement used (Total process time):
      real time           0.01 seconds
      cpu time            0.01 seconds
      

208        data ta;
209        set datalib.ta(keep= ARMCD ARM);
210        attrib total length=$1000;
211        total = trim(left(ARMCD))||'+'||trim(left(ARM));
9                                        The SAS System         09:48 Wednesday, October 21, 2009

212        run;

NOTE: There were 4 observations read from the data set DATALIB.TA.
NOTE: The data set WORK.TA has 4 observations and 3 variables.
NOTE: DATA statement used (Total process time):
      real time           0.03 seconds
      cpu time            0.03 seconds
      

NOTE: Table WORK._79 created, with 3 rows and 4 columns.

213        data work._87;
214        retain obsnum 0;
215        set datalib.dm;
216        obsnum = obsnum + 1;
217        if USUBJID ne "" then do;
218        output;
219        end;
220        run;

NOTE: Format $SEX was not found or could not be loaded.
NOTE: There were 3 observations read from the data set DATALIB.DM.
NOTE: The data set WORK._87 has 3 observations and 21 variables.
NOTE: DATA statement used (Total process time):
      real time           0.01 seconds
      cpu time            0.01 seconds
      

221        proc sort data=work._87 out=work.__87 nodupkey;
222        by USUBJID;
223        run;

NOTE: There were 3 observations read from the data set WORK._87.
NOTE: 0 observations with duplicate key values were deleted.
NOTE: The data set WORK.__87 has 3 observations and 21 variables.
NOTE: PROCEDURE SORT used (Total process time):
      real time           0.03 seconds
      cpu time            0.03 seconds
      

224        data _88;
225        retain obsnum 0;
226        set datalib.dm;
227        obsnum = obsnum + 1;
228        if AGE ne "" and AGE < 0 then do;
229        output;
230        end;
231        run;

NOTE: Character values have been converted to numeric values at the places given by: 
      (Line):(Column).
      228:11   
NOTE: Format $SEX was not found or could not be loaded.
10                                       The SAS System         09:48 Wednesday, October 21, 2009

NOTE: There were 3 observations read from the data set DATALIB.DM.
NOTE: The data set WORK._88 has 0 observations and 21 variables.
NOTE: DATA statement used (Total process time):
      real time           0.01 seconds
      cpu time            0.01 seconds
      

232        data _89;
233        retain obsnum 0;
234        set datalib.dm;
235        obsnum = obsnum + 1;
236        if SEX not in ("F", "M", "U", "UN") then do;
237        output;
238        end;
239        run;

NOTE: Format $SEX was not found or could not be loaded.
NOTE: There were 3 observations read from the data set DATALIB.DM.
NOTE: The data set WORK._89 has 1 observations and 21 variables.
NOTE: DATA statement used (Total process time):
      real time           0.03 seconds
      cpu time            0.03 seconds
      

240        data _106;
241        retain obsnum 0;
242        set datalib.dm;
243        obsnum = obsnum + 1;
244        if RFSTDTC = '' and ARMCD ne 'SCRNFAIL' then do;
245        output;
246        end;
247        run;

NOTE: Format $SEX was not found or could not be loaded.
NOTE: There were 3 observations read from the data set DATALIB.DM.
NOTE: The data set WORK._106 has 0 observations and 21 variables.
NOTE: DATA statement used (Total process time):
      real time           0.01 seconds
      cpu time            0.01 seconds
      

248        data _107;
249        retain obsnum 0;
250        set datalib.dm;
251        obsnum = obsnum + 1;
252        if RFENDTC = '' and ARMCD ne 'SCRNFAIL' then do;
253        output;
254        end;
255        run;

NOTE: Format $SEX was not found or could not be loaded.
NOTE: There were 3 observations read from the data set DATALIB.DM.
NOTE: The data set WORK._107 has 0 observations and 21 variables.
11                                       The SAS System         09:48 Wednesday, October 21, 2009

NOTE: DATA statement used (Total process time):
      real time           0.03 seconds
      cpu time            0.03 seconds
      

256        data _113;
257        retain obsnum 0;
258        set datalib.dm;
259        obsnum = obsnum + 1;
260        if AGEU ='' and AGE ne . then do;
261        output;
262        end;
263        run;

NOTE: Format $SEX was not found or could not be loaded.
NOTE: There were 3 observations read from the data set DATALIB.DM.
NOTE: The data set WORK._113 has 0 observations and 21 variables.
NOTE: DATA statement used (Total process time):
      real time           0.03 seconds
      cpu time            0.03 seconds
      

264                 proc sort data=cdisc nodupkey;
265                    by libname datname datlab variable length label type case comment;
266                 run;

NOTE: There were 24 observations read from the data set WORK.CDISC.
NOTE: 0 observations with duplicate key values were deleted.
NOTE: The data set WORK.CDISC has 24 observations and 11 variables.
NOTE: PROCEDURE SORT used (Total process time):
      real time           0.03 seconds
      cpu time            0.03 seconds
      

267              proc sort data = work.cdisc;
268                 by libname datname datlab variable case;
269              run;

NOTE: There were 24 observations read from the data set WORK.CDISC.
NOTE: The data set WORK.CDISC has 24 observations and 11 variables.
NOTE: PROCEDURE SORT used (Total process time):
      real time           0.03 seconds
      cpu time            0.03 seconds
      

270        
271              proc format;
272                 *** Generate the comments for the CDISC evaluation case number ***;
273                 value $casefmt
274                 '1' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#1">1</a>'
275                 '2' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#2">2</a>'
276                 '3' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#3">3</a>'
277                 '4' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#4">4</a>'
12                                       The SAS System         09:48 Wednesday, October 21, 2009

278                 '5' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#5">5</a>'
279                 '6' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#6">6</a>'
280                 '7' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#7">7</a>'
281                 '8' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#8">8</a>'
282                 '9' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#9">9</a>'
283                 '10' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#10">10</a>'
284                 '11' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#11">11</a>'
285                 '12' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#12">12</a>'
286                 '13' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#13">13</a>'
287                 '14' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#14">14</a>'
288                 '15' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#15">15</a>'
289                 '16' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#16">16</a>'
290                 '17' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#17">17</a>'
291                 '18' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#18">18</a>'
292                 '19' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#19">19</a>'
293                 '20' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#20">20</a>'
294                 '21' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#21">21</a>'
295                 '22' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#22">22</a>'
296                 '23' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#23">23</a>'
297                 '24' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#24">24</a>'
298                 '25' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#25">25</a>'
299                 '26' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#26">26</a>'
300                 '27' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#27">27</a>'
301                 '28' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#28">28</a>'
302                 '29' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#29">29</a>'
303                 '30' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#30">30</a>'
304                 '31' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#31">31</a>'
305                 '32' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#32">32</a>'
306                 '33' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#33">33</a>'
307                 '34' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#34">34</a>'
308                 '35' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#35">35</a>'
309                 '36' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#36">36</a>'
310                 '37' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#37">37</a>'
311                 '38' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#38">38</a>'
312                 '39' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#39">39</a>'
313                 '40' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#40">40</a>'
314                 '41' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#41">41</a>'
315                 '42' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#42">42</a>'
316                 '43' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#43">43</a>'
317                 '44' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#44">44</a>'
318                 '45' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#45">45</a>'
319                 '46' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#46">46</a>'
320                 '47' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#47">47</a>'
321                 '48' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#48">48</a>'
322                 '49' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#49">49</a>'
323                 '50' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#50">50</a>'
324                 '51' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#51">51</a>'
325                 '52' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#52">52</a>'
326                 '53' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#53">53</a>'
327                 '54' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#54">54</a>'
328                 '55' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#55">55</a>'
329                 '56' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#56">56</a>'
330                 '57' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#57">57</a>'
13                                       The SAS System         09:48 Wednesday, October 21, 2009

331                 '58' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#58">58</a>'
332                 '59' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#59">59</a>'
333                 '60' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#60">60</a>'
334                 '61' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#61">61</a>'
335                 '62' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#62">62</a>'
336                 '63' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#63">63</a>'
337                 '64' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#64">64</a>'
338                 '65' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#65">65</a>'
339                 '66' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#66">66</a>'
340                 '67' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#67">67</a>'
341                 '68' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#68">68</a>'
342                 '69' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#69">69</a>'
343                 '70' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#70">70</a>'
344                 '71' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#71">71</a>'
345                 '72' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#72">72</a>'
346                 '73' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#73">73</a>'
347                 '74' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#74">74</a>'
348                 '75' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#75">75</a>'
349                 '76' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#76">76</a>'
350                 '77' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#77">77</a>'
351                 '78' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#78">78</a>'
352                 '79' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#79">79</a>'
353                 '80' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#80">80</a>'
354                 '81' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#81">81</a>'
355                 '82' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#82">82</a>'
356                 '83' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#83">83</a>'
357                 '84' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#84">84</a>'
358                 '85' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#85">85</a>'
359                 '86' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#86">86</a>'
360                 '87' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#87">87</a>'
361                 '88' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#88">88</a>'
362                 '89' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#89">89</a>'
363                 '90' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#90">90</a>'
364                 '91' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#91">91</a>'
365                 '92' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#92">92</a>'
366                 '93' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#93">93</a>'
367                 '94' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#94">94</a>'
368                 '95' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#95">95</a>'
369                 '96' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#96">96</a>'
370                 '97' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#97">97</a>'
371                 '98' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#98">98</a>'
372                 '99' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#99">99</a>'
373                 '100' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#100">100</a>'
374                 '101' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#101">101</a>'
375                 '102' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#102">102</a>'
376                 '103' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#103">103</a>'
377                 '104' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#104">104</a>'
378                 '105' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#105">105</a>'
379                 '106' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#106">106</a>'
380                 '107' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#107">107</a>'
381                 '108' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#108">108</a>'
382                 '109' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#109">109</a>'
383                 '110' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#110">110</a>'
14                                       The SAS System         09:48 Wednesday, October 21, 2009

384                 '111' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#111">111</a>'
385                 '112' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#112">112</a>'
386                 '113' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#113">113</a>';
NOTE: Format $CASEFMT has been output.
387        
388        
389        
390                 *** Generate the format for the bookmark of variables ***;
391                 value $bookfmt
392                 "dm.studyid" = '<a name="dm.studyid">dm.studyid</a>'
393                 "dm.domain" = '<a name="dm.domain">dm.domain</a>'
394                 "dm.usubjid" = '<a name="dm.usubjid">dm.usubjid</a>'
395                 "dm.subjid" = '<a name="dm.subjid">dm.subjid</a>'
396                 "dm.rfstdtc" = '<a name="dm.rfstdtc">dm.rfstdtc</a>'
397                 "dm.rfendtc" = '<a name="dm.rfendtc">dm.rfendtc</a>'
398                 "dm.siteid" = '<a name="dm.siteid">dm.siteid</a>'
399                 "dm.invid" = '<a name="dm.invid">dm.invid</a>'
400                 "dm.invnam" = '<a name="dm.invnam">dm.invnam</a>'
401                 "dm.brthdtc" = '<a name="dm.brthdtc">dm.brthdtc</a>'
402                 "dm.age" = '<a name="dm.age">dm.age</a>'
403                 "dm.ageu" = '<a name="dm.ageu">dm.ageu</a>'
404                 "dm.sex" = '<a name="dm.sex">dm.sex</a>'
405                 "dm.race" = '<a name="dm.race">dm.race</a>'
406                 "dm.ethnic" = '<a name="dm.ethnic">dm.ethnic</a>'
407                 "dm.armcd" = '<a name="dm.armcd">dm.armcd</a>'
408                 "dm.arm" = '<a name="dm.arm">dm.arm</a>'
409                 "dm.country" = '<a name="dm.country">dm.country</a>'
410                 "dm.dmdtc" = '<a name="dm.dmdtc">dm.dmdtc</a>'
411                 "dm.dmdy" = '<a name="dm.dmdy">dm.dmdy</a>'
412                 ;
NOTE: Format $BOOKFMT has been output.
413        
414                 *** Generate the format for dataset linking ***;
415                 value $datfmt
416                 "ae" = '<a name="ae">ae</a><br>'
417                 "ae3a" = '<a name="ae3a">ae3a</a><br>'
418                 "cdisc10" = '<a name="cdisc10">cdisc10</a><br>'
419                 "cdisc11" = '<a name="cdisc11">cdisc11</a><br>'
420                 "cdisc14" = '<a name="cdisc14">cdisc14</a><br>'
421                 "cdisc15" = '<a name="cdisc15">cdisc15</a><br>'
422                 "cdisc18" = '<a name="cdisc18">cdisc18</a><br>'
423                 "cdisc2" = '<a name="cdisc2">cdisc2</a><br>'
424                 "cdisc21" = '<a name="cdisc21">cdisc21</a><br>'
425                 "cdisc2b_1" = '<a name="cdisc2b_1">cdisc2b_1</a><br>'
426                 "cdisc2b_2" = '<a name="cdisc2b_2">cdisc2b_2</a><br>'
427                 "cdisc2b_3" = '<a name="cdisc2b_3">cdisc2b_3</a><br>'
428                 "cdisc2_b" = '<a name="cdisc2_b">cdisc2_b</a><br>'
429                 "cdisc2_c" = '<a name="cdisc2_c">cdisc2_c</a><br>'
430                 "cdisc4" = '<a name="cdisc4">cdisc4</a><br>'
431                 "cdisc5" = '<a name="cdisc5">cdisc5</a><br>'
432                 "cdisc6" = '<a name="cdisc6">cdisc6</a><br>'
433                 "cdisc7" = '<a name="cdisc7">cdisc7</a><br>'
434                 "cdisc8" = '<a name="cdisc8">cdisc8</a><br>'
15                                       The SAS System         09:48 Wednesday, October 21, 2009

435                 "cdisc9" = '<a name="cdisc9">cdisc9</a><br>'
436                 "ce" = '<a name="ce">ce</a><br>'
437                 "cm" = '<a name="cm">cm</a><br>'
438                 "co" = '<a name="co">co</a><br>'
439                 "da" = '<a name="da">da</a><br>'
440                 "dm" = '<a name="dm">dm</a><br>'
441                 "ds" = '<a name="ds">ds</a><br>'
442                 "dv" = '<a name="dv">dv</a><br>'
443                 "eg" = '<a name="eg">eg</a><br>'
444                 "ex" = '<a name="ex">ex</a><br>'
445                 "fa" = '<a name="fa">fa</a><br>'
446                 "ie" = '<a name="ie">ie</a><br>'
447                 "lb" = '<a name="lb">lb</a><br>'
448                 "mb" = '<a name="mb">mb</a><br>'
449                 "mh" = '<a name="mh">mh</a><br>'
450                 "ms" = '<a name="ms">ms</a><br>'
451                 "notdm" = '<a name="notdm">notdm</a><br>'
452                 "pc" = '<a name="pc">pc</a><br>'
453                 "pe" = '<a name="pe">pe</a><br>'
454                 "pp" = '<a name="pp">pp</a><br>'
455                 "qs" = '<a name="qs">qs</a><br>'
456                 "relrec" = '<a name="relrec">relrec</a><br>'
457                 "sc" = '<a name="sc">sc</a><br>'
458                 "se" = '<a name="se">se</a><br>'
459                 "su" = '<a name="su">su</a><br>'
460                 "supmh" = '<a name="supmh">supmh</a><br>'
461                 "suppae" = '<a name="suppae">suppae</a><br>'
462                 "suppp" = '<a name="suppp">suppp</a><br>'
463                 "supte" = '<a name="supte">supte</a><br>'
464                 "supvs" = '<a name="supvs">supvs</a><br>'
465                 "sv" = '<a name="sv">sv</a><br>'
466                 "ta" = '<a name="ta">ta</a><br>'
467                 "te" = '<a name="te">te</a><br>'
468                 "ti" = '<a name="ti">ti</a><br>'
469                 "ts" = '<a name="ts">ts</a><br>'
470                 "tv" = '<a name="tv">tv</a><br>'
471                 "vs" = '<a name="vs">vs</a><br>'
472                 ;
NOTE: Format $DATFMT has been output.
473              run;

NOTE: PROCEDURE FORMAT used (Total process time):
      real time           0.06 seconds
      cpu time            0.01 seconds
      

474        
475              data work.cdisc;
476                 set work.cdisc;
477                 by libname datname datlab variable case;
478        
479                 attrib datvar label="Dataset and Variable" length=$100 format=$bookfmt.;
480                 if variable ne '' then
16                                       The SAS System         09:48 Wednesday, October 21, 2009

481                 datvar = compress(lowcase(datname) || "." || lowcase(variable));
482                 else datvar = lowcase(datname);
483                 /*format case casefmt.;*/
484                 attrib charcase label = "Case Number" length = $10;
485                 charcase = trim(left(put(case, best.)));
486                 format charcase $casefmt.;
487                 *format datname $datfmt.;
488              run;

NOTE: There were 24 observations read from the data set WORK.CDISC.
NOTE: The data set WORK.CDISC has 24 observations and 13 variables.
NOTE: DATA statement used (Total process time):
      real time           0.03 seconds
      cpu time            0.03 seconds
      

489        
490              *** Remove The Special Characters ******;
491              proc template;
492                 define style styles.test/store=work.test;
493                 parent=styles.default;
494                 style byline from titlesandfooters /
495                    protectspecialchars=off;
496                 end;
NOTE: STYLE 'Styles.Test' has been saved to: WORK.TEST
497              run;
NOTE: PROCEDURE TEMPLATE used (Total process time):
      real time           0.13 seconds
      cpu time            0.03 seconds
      

498        
499              proc sort data = work.cdisc;
500                 by libname datname datlab variable case;
501              run;

NOTE: There were 24 observations read from the data set WORK.CDISC.
NOTE: The data set WORK.CDISC has 24 observations and 13 variables.
NOTE: PROCEDURE SORT used (Total process time):
      real time           0.04 seconds
      cpu time            0.01 seconds
      

502        
503              ods listing close;
504              ods html file='cdisc89.html' style=styles.mxistyle;
NOTE: Writing HTML Body file: cdisc89.html
505              data work.dm (drop=usrname datetime);
506                 set work.cdisc;
507                 where lowcase(datname)=lowcase("dm");
508              run;

NOTE: There were 24 observations read from the data set WORK.CDISC.
17                                       The SAS System         09:48 Wednesday, October 21, 2009

      WHERE LOWCASE(datname)='dm';
NOTE: The data set WORK.DM has 24 observations and 11 variables.
NOTE: DATA statement used (Total process time):
      real time           0.01 seconds
      cpu time            0.01 seconds
      

509                       data dm(drop=xxx);
510                          set dm;
511                          retain xxx 0;
512                          if xxx = 2 then xxx = 1;
513                          else xxx = xxx + 1;
514                          yyy = compress(put(xxx,best.));
515                       run;

NOTE: There were 24 observations read from the data set WORK.DM.
NOTE: The data set WORK.DM has 24 observations and 12 variables.
NOTE: DATA statement used (Total process time):
      real time           0.03 seconds
      cpu time            0.03 seconds
      

516        
517              %let newlab = %nrbquote(Demographics Domain Model);
518              title1 height=2 '<a name="dm"> Findings from CDISC Evaluation</a>';
519              title2 height=2 "Data Table Name = dm Data Table Label=&newlab";
520              footnote1 height=2 "Generated on: 10/21/2009,  9:48:26 am, Administrator";
521              footnote2 height=2 "Located at: C:\apache\htdocs\cdiscbuilder\data";
522               proc report data = work.dm nowindows;
523                    column obs libname datvar label type length charcase comment yyy;
524                       define obs/computed 'Obs';
525                       define libname/width=20;
526                       define datvar/width=50;
527                       define label/width=50;
528                       define type/width=20;
529                       define length/width=50;
530                       define comment/width=50;
531                       define charcase/width=50;
532                       define yyy/ noprint;
533        
534                    compute yyy;
535                       if yyy = "2" then do;
536                          call define (_row_,'style','STYLE=[BACKGROUND=cxFFFFCC]');
537                       end;
538                    endcompute;
539        
540                    compute charcase;
541                       if charcase='1' then call define
541      ! ('charcase','style','STYLE=[BACKGROUND=CXccffcc JUST=CENTER]');
542                       if charcase='2' then call define
542      ! ('charcase','style','STYLE=[BACKGROUND=CXcd0030 JUST=CENTER]');
543                       if charcase='3' then call define
543      ! ('charcase','style','STYLE=[BACKGROUND=CXcd0094 JUST=CENTER]');
18                                       The SAS System         09:48 Wednesday, October 21, 2009

544                       if charcase='4' then call define
544      ! ('charcase','style','STYLE=[BACKGROUND=CXcd00f8 JUST=CENTER]');
545                       if charcase='5' then call define
545      ! ('charcase','style','STYLE=[BACKGROUND=CXcd015c JUST=CENTER]');
546                       if charcase='6' then call define
546      ! ('charcase','style','STYLE=[BACKGROUND=CXcd01c0 JUST=CENTER]');
547                       if charcase='7' then call define
547      ! ('charcase','style','STYLE=[BACKGROUND=CXcd0224 JUST=CENTER]');
548                       if charcase='8' then call define
548      ! ('charcase','style','STYLE=[BACKGROUND=CXcd0288 JUST=CENTER]');
549                       if charcase='9' then call define
549      ! ('charcase','style','STYLE=[BACKGROUND=CXcd02ec JUST=CENTER]');
550                       if charcase='10' then call define
550      ! ('charcase','style','STYLE=[BACKGROUND=CXcd0350 JUST=CENTER]');
551                       if charcase='11' then call define
551      ! ('charcase','style','STYLE=[BACKGROUND=CXcd03b4 JUST=CENTER]');
552                       if charcase='12' then call define
552      ! ('charcase','style','STYLE=[BACKGROUND=CXcd0418 JUST=CENTER]');
553                       if charcase='13' then call define
553      ! ('charcase','style','STYLE=[BACKGROUND=CXcd047c JUST=CENTER]');
554                       if charcase='14' then call define
554      ! ('charcase','style','STYLE=[BACKGROUND=CXcd04e0 JUST=CENTER]');
555                       if charcase='15' then call define
555      ! ('charcase','style','STYLE=[BACKGROUND=CXcd0544 JUST=CENTER]');
556                       if charcase='16' then call define
556      ! ('charcase','style','STYLE=[BACKGROUND=CXcd05a8 JUST=CENTER]');
557                       if charcase='17' then call define
557      ! ('charcase','style','STYLE=[BACKGROUND=CXcd060c JUST=CENTER]');
558                       if charcase='18' then call define
558      ! ('charcase','style','STYLE=[BACKGROUND=CXcd0670 JUST=CENTER]');
559                       if charcase='19' then call define
559      ! ('charcase','style','STYLE=[BACKGROUND=CXcd06d4 JUST=CENTER]');
560                       if charcase='20' then call define
560      ! ('charcase','style','STYLE=[BACKGROUND=CXffffcc JUST=CENTER]');
561                       if charcase='21' then call define
561      ! ('charcase','style','STYLE=[BACKGROUND=CX398C54 JUST=CENTER]');
562                       if charcase='22' then call define
562      ! ('charcase','style','STYLE=[BACKGROUND=CX398d1c JUST=CENTER]');
563                       if charcase='23' then call define
563      ! ('charcase','style','STYLE=[BACKGROUND=CX398d80 JUST=CENTER]');
564                       if charcase='24' then call define
564      ! ('charcase','style','STYLE=[BACKGROUND=CX398de4 JUST=CENTER]');
565                       if charcase='25' then call define
565      ! ('charcase','style','STYLE=[BACKGROUND=CX398e48 JUST=CENTER]');
566                       if charcase='26' then call define
566      ! ('charcase','style','STYLE=[BACKGROUND=CX398eac JUST=CENTER]');
567                       if charcase='27' then call define
567      ! ('charcase','style','STYLE=[BACKGROUND=CX398f10 JUST=CENTER]');
568                       if charcase='28' then call define
568      ! ('charcase','style','STYLE=[BACKGROUND=CX398f74 JUST=CENTER]');
569                       if charcase='29' then call define
569      ! ('charcase','style','STYLE=[BACKGROUND=CX398fd8 JUST=CENTER]');
570                       if charcase='30' then call define
19                                       The SAS System         09:48 Wednesday, October 21, 2009

570      ! ('charcase','style','STYLE=[BACKGROUND=CX39903c JUST=CENTER]');
571                       if charcase='31' then call define
571      ! ('charcase','style','STYLE=[BACKGROUND=CX3990a0 JUST=CENTER]');
572                       if charcase='32' then call define
572      ! ('charcase','style','STYLE=[BACKGROUND=CX399104 JUST=CENTER]');
573                       if charcase='33' then call define
573      ! ('charcase','style','STYLE=[BACKGROUND=CX399168 JUST=CENTER]');
574                       if charcase='34' then call define
574      ! ('charcase','style','STYLE=[BACKGROUND=CX3991cc JUST=CENTER]');
575                       if charcase='35' then call define
575      ! ('charcase','style','STYLE=[BACKGROUND=CX399230 JUST=CENTER]');
576                       if charcase='36' then call define
576      ! ('charcase','style','STYLE=[BACKGROUND=CX399294 JUST=CENTER]');
577                       if charcase='37' then call define
577      ! ('charcase','style','STYLE=[BACKGROUND=CX3992f8 JUST=CENTER]');
578                       if charcase='38' then call define
578      ! ('charcase','style','STYLE=[BACKGROUND=CX39935c JUST=CENTER]');
579                       if charcase='39' then call define
579      ! ('charcase','style','STYLE=[BACKGROUND=CXffcccc JUST=CENTER]');
580                       if charcase='40' then call define
580      ! ('charcase','style','STYLE=[BACKGROUND=CXffcd30 JUST=CENTER]');
581                       if charcase='41' then call define
581      ! ('charcase','style','STYLE=[BACKGROUND=CXffcd94 JUST=CENTER]');
582                       if charcase='42' then call define
582      ! ('charcase','style','STYLE=[BACKGROUND=CXffcdf8 JUST=CENTER]');
583                       if charcase='43' then call define
583      ! ('charcase','style','STYLE=[BACKGROUND=CXffce5c JUST=CENTER]');
584                       if charcase='44' then call define
584      ! ('charcase','style','STYLE=[BACKGROUND=CXffcec0 JUST=CENTER]');
585                       if charcase='45' then call define
585      ! ('charcase','style','STYLE=[BACKGROUND=CXffcf24 JUST=CENTER]');
586                       if charcase='46' then call define
586      ! ('charcase','style','STYLE=[BACKGROUND=CXffcf88 JUST=CENTER]');
587                       if charcase='47' then call define
587      ! ('charcase','style','STYLE=[BACKGROUND=CXffcfec JUST=CENTER]');
588                       if charcase='48' then call define
588      ! ('charcase','style','STYLE=[BACKGROUND=CXffd050 JUST=CENTER]');
589                       if charcase='49' then call define
589      ! ('charcase','style','STYLE=[BACKGROUND=CXffd0b4 JUST=CENTER]');
590                       if charcase='50' then call define
590      ! ('charcase','style','STYLE=[BACKGROUND=CXffd118 JUST=CENTER]');
591                       if charcase='51' then call define
591      ! ('charcase','style','STYLE=[BACKGROUND=CXffd17c JUST=CENTER]');
592                       if charcase='52' then call define
592      ! ('charcase','style','STYLE=[BACKGROUND=CXffd1e0 JUST=CENTER]');
593                       if charcase='53' then call define
593      ! ('charcase','style','STYLE=[BACKGROUND=CXffd244 JUST=CENTER]');
594                       if charcase='54' then call define
594      ! ('charcase','style','STYLE=[BACKGROUND=CXffd2a8 JUST=CENTER]');
595                       if charcase='55' then call define
595      ! ('charcase','style','STYLE=[BACKGROUND=CXffd30c JUST=CENTER]');
596                       if charcase='56' then call define
596      ! ('charcase','style','STYLE=[BACKGROUND=CXffd370 JUST=CENTER]');
20                                       The SAS System         09:48 Wednesday, October 21, 2009

597                       if charcase='57' then call define
597      ! ('charcase','style','STYLE=[BACKGROUND=CXffd3d4 JUST=CENTER]');
598                       if charcase='58' then call define
598      ! ('charcase','style','STYLE=[BACKGROUND=CXccccff JUST=CENTER]');
599                       if charcase='59' then call define
599      ! ('charcase','style','STYLE=[BACKGROUND=CXcccd63 JUST=CENTER]');
600                       if charcase='60' then call define
600      ! ('charcase','style','STYLE=[BACKGROUND=CXcccdc7 JUST=CENTER]');
601                       if charcase='61' then call define
601      ! ('charcase','style','STYLE=[BACKGROUND=CXccce2b JUST=CENTER]');
602                       if charcase='62' then call define
602      ! ('charcase','style','STYLE=[BACKGROUND=CXccce8f JUST=CENTER]');
603                       if charcase='63' then call define
603      ! ('charcase','style','STYLE=[BACKGROUND=CXcccef3 JUST=CENTER]');
604                       if charcase='64' then call define
604      ! ('charcase','style','STYLE=[BACKGROUND=CXcccf57 JUST=CENTER]');
605                       if charcase='65' then call define
605      ! ('charcase','style','STYLE=[BACKGROUND=CXcccfbb JUST=CENTER]');
606                       if charcase='66' then call define
606      ! ('charcase','style','STYLE=[BACKGROUND=CXccd01f JUST=CENTER]');
607                       if charcase='67' then call define
607      ! ('charcase','style','STYLE=[BACKGROUND=CXccd083 JUST=CENTER]');
608                       if charcase='68' then call define
608      ! ('charcase','style','STYLE=[BACKGROUND=CXccd0e7 JUST=CENTER]');
609                       if charcase='69' then call define
609      ! ('charcase','style','STYLE=[BACKGROUND=CXccd14b JUST=CENTER]');
610                       if charcase='70' then call define
610      ! ('charcase','style','STYLE=[BACKGROUND=CXccd1af JUST=CENTER]');
611                       if charcase='71' then call define
611      ! ('charcase','style','STYLE=[BACKGROUND=CXccd213 JUST=CENTER]');
612                       if charcase='72' then call define
612      ! ('charcase','style','STYLE=[BACKGROUND=CXccd277 JUST=CENTER]');
613                       if charcase='73' then call define
613      ! ('charcase','style','STYLE=[BACKGROUND=CXccd2db JUST=CENTER]');
614                       if charcase='74' then call define
614      ! ('charcase','style','STYLE=[BACKGROUND=CXccd33f JUST=CENTER]');
615                       if charcase='75' then call define
615      ! ('charcase','style','STYLE=[BACKGROUND=CXccd3a3 JUST=CENTER]');
616                       if charcase='76' then call define
616      ! ('charcase','style','STYLE=[BACKGROUND=CXccd407 JUST=CENTER]');
617                       if charcase='77' then call define
617      ! ('charcase','style','STYLE=[BACKGROUND=CX99ccff JUST=CENTER]');
618                       if charcase='78' then call define
618      ! ('charcase','style','STYLE=[BACKGROUND=CX99cd63 JUST=CENTER]');
619                       if charcase='79' then call define
619      ! ('charcase','style','STYLE=[BACKGROUND=CX99cdc7 JUST=CENTER]');
620                       if charcase='80' then call define
620      ! ('charcase','style','STYLE=[BACKGROUND=CX99ce2b JUST=CENTER]');
621                       if charcase='81' then call define
621      ! ('charcase','style','STYLE=[BACKGROUND=CX99ce8f JUST=CENTER]');
622                       if charcase='82' then call define
622      ! ('charcase','style','STYLE=[BACKGROUND=CX99cef3 JUST=CENTER]');
623                       if charcase='83' then call define
21                                       The SAS System         09:48 Wednesday, October 21, 2009

623      ! ('charcase','style','STYLE=[BACKGROUND=CX99cf57 JUST=CENTER]');
624                       if charcase='84' then call define
624      ! ('charcase','style','STYLE=[BACKGROUND=CX99cfbb JUST=CENTER]');
625                       if charcase='85' then call define
625      ! ('charcase','style','STYLE=[BACKGROUND=CX99d01f JUST=CENTER]');
626                       if charcase='86' then call define
626      ! ('charcase','style','STYLE=[BACKGROUND=CX99d083 JUST=CENTER]');
627                       if charcase='87' then call define
627      ! ('charcase','style','STYLE=[BACKGROUND=CX99d0e7 JUST=CENTER]');
628                       if charcase='88' then call define
628      ! ('charcase','style','STYLE=[BACKGROUND=CX99d14b JUST=CENTER]');
629                       if charcase='89' then call define
629      ! ('charcase','style','STYLE=[BACKGROUND=CX99d1af JUST=CENTER]');
630                       if charcase='90' then call define
630      ! ('charcase','style','STYLE=[BACKGROUND=CX99d213 JUST=CENTER]');
631                       if charcase='91' then call define
631      ! ('charcase','style','STYLE=[BACKGROUND=CX99d277 JUST=CENTER]');
632                       if charcase='92' then call define
632      ! ('charcase','style','STYLE=[BACKGROUND=CX99d2db JUST=CENTER]');
633                       if charcase='93' then call define
633      ! ('charcase','style','STYLE=[BACKGROUND=CX99d33f JUST=CENTER]');
634                       if charcase='94' then call define
634      ! ('charcase','style','STYLE=[BACKGROUND=CX99d3a3 JUST=CENTER]');
635                       if charcase='95' then call define
635      ! ('charcase','style','STYLE=[BACKGROUND=CX99d407 JUST=CENTER]');
636                       if charcase='96' then call define
636      ! ('charcase','style','STYLE=[BACKGROUND=CXffcc99 JUST=CENTER]');
637                       if charcase='97' then call define
637      ! ('charcase','style','STYLE=[BACKGROUND=CXffccfd JUST=CENTER]');
638                       if charcase='98' then call define
638      ! ('charcase','style','STYLE=[BACKGROUND=CXffcd61 JUST=CENTER]');
639                       if charcase='99' then call define
639      ! ('charcase','style','STYLE=[BACKGROUND=CXffcdc5 JUST=CENTER]');
640                       if charcase='100' then call define
640      ! ('charcase','style','STYLE=[BACKGROUND=CXffce29 JUST=CENTER]');
641                       if charcase='101' then call define
641      ! ('charcase','style','STYLE=[BACKGROUND=CXffce8d JUST=CENTER]');
642                       if charcase='102' then call define
642      ! ('charcase','style','STYLE=[BACKGROUND=CXffcef1 JUST=CENTER]');
643                       if charcase='103' then call define
643      ! ('charcase','style','STYLE=[BACKGROUND=CXffcf55 JUST=CENTER]');
644                       if charcase='104' then call define
644      ! ('charcase','style','STYLE=[BACKGROUND=CXffcfb9 JUST=CENTER]');
645                       if charcase='105' then call define
645      ! ('charcase','style','STYLE=[BACKGROUND=CXffd01d JUST=CENTER]');
646                       if charcase='106' then call define
646      ! ('charcase','style','STYLE=[BACKGROUND=CXffd081 JUST=CENTER]');
647                       if charcase='107' then call define
647      ! ('charcase','style','STYLE=[BACKGROUND=CXffd0e5 JUST=CENTER]');
648                       if charcase='108' then call define
648      ! ('charcase','style','STYLE=[BACKGROUND=CXffd149 JUST=CENTER]');
649                       if charcase='109' then call define
649      ! ('charcase','style','STYLE=[BACKGROUND=CXffd1ad JUST=CENTER]');
22                                       The SAS System         09:48 Wednesday, October 21, 2009

650                       if charcase='110' then call define
650      ! ('charcase','style','STYLE=[BACKGROUND=CXffd211 JUST=CENTER]');
651                       if charcase='111' then call define
651      ! ('charcase','style','STYLE=[BACKGROUND=CXffd275 JUST=CENTER]');
652                       if charcase='112' then call define
652      ! ('charcase','style','STYLE=[BACKGROUND=CXffd2d9 JUST=CENTER]');
653                       if charcase='113' then call define
653      ! ('charcase','style','STYLE=[BACKGROUND=CXffd33d JUST=CENTER]');
654                    endcomp;
655        
656                    compute obs;
657                       dobs + 1;
658                       obs = dobs;
659                    endcompute;
660                 run;

NOTE: There were 24 observations read from the data set WORK.DM.
NOTE: PROCEDURE REPORT used (Total process time):
      real time           0.13 seconds
      cpu time            0.06 seconds
      

661              run;
662              ods html close;
663              ods listing;
NOTE: PROCEDURE DISPLAY used (Total process time):
      real time           3.95 seconds
      cpu time            3.28 seconds
      


NOTE: SAS Institute Inc., SAS Campus Drive, Cary, NC USA 27513-2414
NOTE: The SAS System used:
      real time           4.79 seconds
      cpu time            3.96 seconds
      
