1                                        The SAS System         09:41 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.60 seconds
      cpu time            0.57 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:     cdisc49.sas                                     *
3          * Description: Case #49. Evaluation Interval Zero For All (Timing) variables, *
4          *              this identifies records that violate the condition *
5          *              [Evaluation Interval greater than or equal to 0], *
6          *              limited to records where [Evaluation Interval is not null].*
7          * By:          Sy Truong, 10/14/2009                          *
8          *-------------------------------------------------------------*/
9          
10         libname templib '../data';
NOTE: Libref TEMPLIB was successfully assigned as follows: 
      Engine:        V9 
      Physical Name: C:\apache\htdocs\cdiscbuilder\data
11         
12         *** Create some data to be selected ***;
13         data templib.qs(label="Questionnaires");
14         attrib STUDYID	label="Study Identifier" length=$100;
15         attrib DOMAIN	label="Domain Abbreviation" length=$100;
16         attrib USUBJID	label="Unique Subject Identifier" length=$100;
17         attrib QSSEQ	label="Sequence Number" length=8;
18         attrib QSGRPID	label="Group ID" length=$100;
19         attrib QSSPID	label="Sponsor-Defined Identifier" length=$100;
20         attrib QSTESTCD	label="Question Short Name" length=$100;
21         attrib QSTEST	label="Question Name" length=$100;
22         attrib QSCAT	label="Category of Question" length=$100;
23         attrib QSSCAT	label="Subcategory for Question" length=$100;
24         attrib QSORRES	label="Finding in Original Units" length=$100;
25         attrib QSORRESU	label="Original Units" length=$100;
26         attrib QSSTRESC	label="Character Result/Finding in Std Format" length=$100;
27         attrib QSSTRESN	label="Numeric Finding in Standard Units" length=8;
28         attrib QSSTRESU	label="Standard Units" length=$100;
2                                        The SAS System         09:41 Wednesday, October 21, 2009

29         attrib QSREASND	label="Reason Not Performed" length=$100;
30         attrib QSBLFL	label="Baseline Flag" length=$100;
31         attrib QSDRVFL	label="Derived Flag" length=$100;
32         attrib VISITNUM	label="Visit Number" length=8;
33         attrib VISIT	label="Visit Name" length=$100;
34         attrib VISITDY	label="Planned Study Day of Visit" length=8;
35         attrib QSDTC	label="Date/Time of Finding" length=$100;
36         attrib QSDY		label="Study Day of Finding" length=8;
37         attrib QSTPT	label="Planned Time Point Name" length=$100;
38         attrib QSTPTNUM	label="Planned Time Point Number" length=8;
39         attrib QSELTM	label="Planned Elapsed Time from Time Point Ref" length=$100;
40         attrib QSTPTREF	label="Time Point Reference" length=$100;
41         attrib QSRFTDTC	label="Date/Time of Reference Time Point" length=$100;
42         attrib QSEVLINT	label="Evaluation Interval" length=$100;
43         STUDYID = 'test';DOMAIN = 'test';USUBJID = '123';QSSEQ = 1;QSGRPID = 'test';QSSPID =
43       ! 'test';QSTESTCD = 'test';QSTEST = 'test';QSCAT = 'test';QSSCAT = 'test';QSORRES =
43       ! 'test';
44         QSORRESU = 'test';QSSTRESC = 'test';QSSTRESU = 'test';QSREASND = 'test';QSBLFL = 'Y';
44       ! QSEVLINT='P2M';
45         output;
46         STUDYID = 'test';DOMAIN = 'test';USUBJID = '123';QSSEQ = 1;QSGRPID = 'test';QSSPID =
46       ! 'test';QSTESTCD = 'test';QSTEST = 'test';QSCAT = 'test';QSSCAT = 'test';QSORRES =
46       ! 'test';
47         QSORRESU = 'test';QSSTRESC = 'test';QSSTRESU = 'test';QSREASND = 'test';QSBLFL = 'Y';
47       ! QSEVLINT='P2M';
48         output;
49         STUDYID = 'test';DOMAIN = 'test';USUBJID = '456';QSSEQ = 1;QSGRPID = 'test';QSSPID =
49       ! 'test';QSTESTCD = 'test';QSTEST = 'test';QSCAT = 'test';QSSCAT = 'test';QSORRES =
49       ! 'test';
50         QSORRESU = 'test';QSSTRESC = 'test';QSSTRESU = 'test';QSREASND = 'test';QSBLFL = '';
50       ! QSEVLINT='P2M';
51         output;
52         STUDYID = 'test';DOMAIN = 'test';USUBJID = '456';QSSEQ = 1;QSGRPID = 'test';QSSPID =
52       ! 'test';QSTESTCD = 'test';QSTEST = 'test';QSCAT = 'test';QSSCAT = 'test';QSORRES =
52       ! 'test';
53         QSORRESU = 'test';QSSTRESC = 'test';QSSTRESU = 'test';QSREASND = 'test';QSBLFL = 'Y';
53       ! QSEVLINT='P2M';
54         output;
55         STUDYID = 'test';DOMAIN = 'test';USUBJID = '789';QSSEQ = 1;QSGRPID = 'test';QSSPID =
55       ! 'test';QSTESTCD = 'test';QSTEST = 'test';QSCAT = 'test';QSSCAT = 'test';QSORRES =
55       ! 'test';
56         QSORRESU = 'test';QSSTRESC = 'test';QSSTRESU = 'test';QSREASND = 'test';QSBLFL = '';
56       ! QSEVLINT='P2M';
57         output;
58         STUDYID = 'test';DOMAIN = 'test';USUBJID = '789';QSSEQ = 1;QSGRPID = 'test';QSSPID =
58       ! 'test';QSTESTCD = 'test';QSTEST = 'test';QSCAT = 'test';QSSCAT = 'test';QSORRES =
58       ! 'test';
59         QSORRESU = 'test';QSSTRESC = 'test';QSSTRESU = 'test';QSREASND = 'test';QSBLFL = 'Y';
59       ! QSEVLINT='-P2M';
60         output;
61         run;

NOTE: Variable QSSTRESN is uninitialized.
3                                        The SAS System         09:41 Wednesday, October 21, 2009

NOTE: Variable QSDRVFL is uninitialized.
NOTE: Variable VISITNUM is uninitialized.
NOTE: Variable VISIT is uninitialized.
NOTE: Variable VISITDY is uninitialized.
NOTE: Variable QSDTC is uninitialized.
NOTE: Variable QSDY is uninitialized.
NOTE: Variable QSTPT is uninitialized.
NOTE: Variable QSTPTNUM is uninitialized.
NOTE: Variable QSELTM is uninitialized.
NOTE: Variable QSTPTREF is uninitialized.
NOTE: Variable QSRFTDTC is uninitialized.
NOTE: The data set TEMPLIB.QS has 6 observations and 29 variables.
NOTE: DATA statement used (Total process time):
      real time           0.04 seconds
      cpu time            0.04 seconds
      

62         %cdisc(datlib=templib,datname=qs);

63                              data misobs(keep=obsnum);
64                                 retain obsnum 0;
65                                 set templib.qs(keep=STUDYID);
66                                 obsnum=obsnum+1;
67                                 if missing(STUDYID) then
68                                    output;
69                              run;

NOTE: There were 6 observations read from the data set TEMPLIB.QS.
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
      

70                              data misobs(keep=obsnum);
71                                 retain obsnum 0;
72                                 set templib.qs(keep=DOMAIN);
73                                 obsnum=obsnum+1;
74                                 if missing(DOMAIN) then
75                                    output;
76                              run;

NOTE: There were 6 observations read from the data set TEMPLIB.QS.
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
      

77                              data misobs(keep=obsnum);
78                                 retain obsnum 0;
79                                 set templib.qs(keep=USUBJID);
80                                 obsnum=obsnum+1;
4                                        The SAS System         09:41 Wednesday, October 21, 2009

81                                 if missing(USUBJID) then
82                                    output;
83                              run;

NOTE: There were 6 observations read from the data set TEMPLIB.QS.
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
      

84                              data misobs(keep=obsnum);
85                                 retain obsnum 0;
86                                 set templib.qs(keep=QSSEQ);
87                                 obsnum=obsnum+1;
88                                 if missing(QSSEQ) then
89                                    output;
90                              run;

NOTE: There were 6 observations read from the data set TEMPLIB.QS.
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
      

91                              data misobs(keep=obsnum);
92                                 retain obsnum 0;
93                                 set templib.qs(keep=QSTESTCD);
94                                 obsnum=obsnum+1;
95                                 if missing(QSTESTCD) then
96                                    output;
97                              run;

NOTE: There were 6 observations read from the data set TEMPLIB.QS.
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
      

98                              data misobs(keep=obsnum);
99                                 retain obsnum 0;
100                                set templib.qs(keep=QSTEST);
101                                obsnum=obsnum+1;
102                                if missing(QSTEST) then
103                                   output;
104                             run;

NOTE: There were 6 observations read from the data set TEMPLIB.QS.
NOTE: The data set WORK.MISOBS has 0 observations and 1 variables.
NOTE: DATA statement used (Total process time):
      real time           0.01 seconds
5                                        The SAS System         09:41 Wednesday, October 21, 2009

      cpu time            0.01 seconds
      

105                             data misobs(keep=obsnum);
106                                retain obsnum 0;
107                                set templib.qs(keep=QSCAT);
108                                obsnum=obsnum+1;
109                                if missing(QSCAT) then
110                                   output;
111                             run;

NOTE: There were 6 observations read from the data set TEMPLIB.QS.
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
      

112        proc sort data=templib.qs out=noflag;
113        by usubjid QSBLFL;
114        run;

NOTE: There were 6 observations read from the data set TEMPLIB.QS.
NOTE: The data set WORK.NOFLAG has 6 observations and 29 variables.
NOTE: PROCEDURE SORT used (Total process time):
      real time           0.03 seconds
      cpu time            0.03 seconds
      

115        data noflag;
116        attrib _flag length=$1;
117        set noflag(keep=usubjid QSBLFL);
118        by usubjid QSBLFL;
119        retain _flag;
120        if first.usubjid then _flag=QSBLFL;
121        if last.usubjid and _flag = QSBLFL and _flag = 'N' then output;
122        run;

NOTE: There were 6 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
      

123        data _26;
124        retain obsnum 0;
125        set templib.qs(keep=VISITNUM);
126        obsnum = obsnum + 1;
127        attrib visitnumc length=$50;
128        visitnumc = compress(visitnum);
129        if index(visitnumc,'.') gt 0 then visitnumc = compress(scan(visitnumc,2,'.'));
130        if length(compress(visitnumc))>2 then output;
6                                        The SAS System         09:41 Wednesday, October 21, 2009

131        run;

NOTE: Numeric values have been converted to character values at the places given by: 
      (Line):(Column).
      128:22   
NOTE: There were 6 observations read from the data set TEMPLIB.QS.
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
      

132        data _31;
133        retain obsnum 0;
134        set templib.qs(keep=QSBLFL);
135        obsnum = obsnum + 1;
136        if trim(left(QSBLFL)) not in ('Y','') then output;
137        run;

NOTE: There were 6 observations read from the data set TEMPLIB.QS.
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
      

138        data _32;
139        retain obsnum 0;
140        set templib.qs(keep=QSDRVFL);
141        obsnum = obsnum + 1;
142        if trim(left(QSDRVFL)) not in ('Y','') then output;
143        run;

NOTE: There were 6 observations read from the data set TEMPLIB.QS.
NOTE: The data set WORK._32 has 0 observations and 2 variables.
NOTE: DATA statement used (Total process time):
      real time           0.01 seconds
      cpu time            0.01 seconds
      

144        data _40;
145        retain obsnum 0;
146        set templib.qs(keep=QSORRES QSDRVFL);
147        obsnum = obsnum + 1;
148        if QSORRES = '' and QSDRVFL ="Y" then output;
149        run;

NOTE: There were 6 observations read from the data set TEMPLIB.QS.
NOTE: The data set WORK._40 has 0 observations and 3 variables.
NOTE: DATA statement used (Total process time):
      real time           0.01 seconds
      cpu time            0.01 seconds
      
7                                        The SAS System         09:41 Wednesday, October 21, 2009


150        data _41;
151        retain obsnum 0;
152        set templib.qs(keep=QSSTRESC QSDRVFL);
153        obsnum = obsnum + 1;
154        if QSSTRESC = '' and QSDRVFL ="Y" then output;
155        run;

NOTE: There were 6 observations read from the data set TEMPLIB.QS.
NOTE: The data set WORK._41 has 0 observations and 3 variables.
NOTE: DATA statement used (Total process time):
      real time           0.01 seconds
      cpu time            0.01 seconds
      

156        data _42;
157        retain obsnum 0;
158        set templib.qs(keep=QSTEST);
159        obsnum = obsnum + 1;
160        if length(trim(left(QSTEST))) > 40 then output;
161        run;

NOTE: There were 6 observations read from the data set TEMPLIB.QS.
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
      

162        data _43(keep= obsnum QSTESTCD status);
163        retain obsnum 0;
164        set templib.qs(keep=QSTESTCD);
165        obsnum = obsnum + 1;
166        attrib status length=$50;
167        if length(trim(left(QSTESTCD))) > 8 then do;
168        status = 'greater than 8 characters.';
169        output;
170        end;
171        if substr(QSTESTCD,1,1) in ('1','2','3','4','5','6','7','8','9','0') then do;
172        status = 'starts with a number.';
173        output;
174        end;
175        spec = '~`@#$%^&*()-+={}|\][:";<>?,./';
176        if index(QSTESTCD,"'") gt 0 then do;
177        status = 'contains special character(s).';
178        output;
179        end;
180        else do;
181        do i=1 to length(trim(left(QSTESTCD)));
182        if index(spec,substr(QSTESTCD,i,1)) gt 0 then do;
183        status = 'contains special character(s).';
184        output;
185        end;
8                                        The SAS System         09:41 Wednesday, October 21, 2009

186        end;
187        end;
188        run;

NOTE: There were 6 observations read from the data set TEMPLIB.QS.
NOTE: The data set WORK._43 has 0 observations and 3 variables.
NOTE: DATA statement used (Total process time):
      real time           0.01 seconds
      cpu time            0.01 seconds
      

189        data _49;
190        retain obsnum 0;
191        set templib.qs(keep=QSEVLINT);
192        obsnum = obsnum + 1;
193        if compress(QSEVLINT) ne '' then if substr(QSEVLINT,1,1)='-' then output;
194        run;

NOTE: There were 6 observations read from the data set TEMPLIB.QS.
NOTE: The data set WORK._49 has 1 observations and 2 variables.
NOTE: DATA statement used (Total process time):
      real time           0.01 seconds
      cpu time            0.01 seconds
      

195        proc sort data=templib.qs out=qs nodupkey;
196        by usubjid;
197        run;

NOTE: There were 6 observations read from the data set TEMPLIB.QS.
NOTE: 3 observations with duplicate key values were deleted.
NOTE: The data set WORK.QS has 3 observations and 29 variables.
NOTE: PROCEDURE SORT used (Total process time):
      real time           0.03 seconds
      cpu time            0.03 seconds
      

NOTE: Table WORK._72 created, with 3 rows and 1 columns.

198        proc sort data=templib.qs out=qs nodupkey;
199        by usubjid visitnum visit;
200        run;

NOTE: There were 6 observations read from the data set TEMPLIB.QS.
NOTE: 3 observations with duplicate key values were deleted.
NOTE: The data set WORK.QS has 3 observations and 29 variables.
NOTE: PROCEDURE SORT used (Total process time):
      real time           0.03 seconds
      cpu time            0.03 seconds
      

201        data qs;
202        attrib total length=$100;
9                                        The SAS System         09:41 Wednesday, October 21, 2009

203        set qs;
204        total = trim(left(usubjid))||'+'||compress(visitnum)||'+'||trim(left(visit));
205        put total=;
206        keep total;
207        run;

NOTE: Numeric values have been converted to character values at the places given by: 
      (Line):(Column).
      204:44   
total=123+.+
total=456+.+
total=789+.+
NOTE: There were 3 observations read from the data set WORK.QS.
NOTE: The data set WORK.QS has 3 observations and 1 variables.
NOTE: DATA statement used (Total process time):
      real time           0.01 seconds
      cpu time            0.01 seconds
      

208        data sv;
209        attrib total length=$100;
210        set templib.SV;
211        total = trim(left(usubjid))||'+'||compress(visitnum)||'+'||trim(left(visit));
212        put total=;
213        keep total;
214        run;

NOTE: Numeric values have been converted to character values at the places given by: 
      (Line):(Column).
      211: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 3 rows and 1 columns.

215                 proc sort data=cdisc nodupkey;
216                    by libname datname datlab variable length label type case comment;
217                 run;

NOTE: There were 11 observations read from the data set WORK.CDISC.
NOTE: 0 observations with duplicate key values were deleted.
NOTE: The data set WORK.CDISC has 11 observations and 11 variables.
NOTE: PROCEDURE SORT used (Total process time):
      real time           0.03 seconds
10                                       The SAS System         09:41 Wednesday, October 21, 2009

      cpu time            0.03 seconds
      

218              proc sort data = work.cdisc;
219                 by libname datname datlab variable case;
220              run;

NOTE: There were 11 observations read from the data set WORK.CDISC.
NOTE: The data set WORK.CDISC has 11 observations and 11 variables.
NOTE: PROCEDURE SORT used (Total process time):
      real time           0.03 seconds
      cpu time            0.03 seconds
      

221        
222              proc format;
223                 *** Generate the comments for the CDISC evaluation case number ***;
224                 value $casefmt
225                 '1' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#1">1</a>'
226                 '2' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#2">2</a>'
227                 '3' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#3">3</a>'
228                 '4' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#4">4</a>'
229                 '5' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#5">5</a>'
230                 '6' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#6">6</a>'
231                 '7' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#7">7</a>'
232                 '8' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#8">8</a>'
233                 '9' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#9">9</a>'
234                 '10' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#10">10</a>'
235                 '11' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#11">11</a>'
236                 '12' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#12">12</a>'
237                 '13' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#13">13</a>'
238                 '14' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#14">14</a>'
239                 '15' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#15">15</a>'
240                 '16' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#16">16</a>'
241                 '17' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#17">17</a>'
242                 '18' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#18">18</a>'
243                 '19' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#19">19</a>'
244                 '20' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#20">20</a>'
245                 '21' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#21">21</a>'
246                 '22' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#22">22</a>'
247                 '23' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#23">23</a>'
248                 '24' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#24">24</a>'
249                 '25' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#25">25</a>'
250                 '26' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#26">26</a>'
251                 '27' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#27">27</a>'
252                 '28' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#28">28</a>'
253                 '29' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#29">29</a>'
254                 '30' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#30">30</a>'
255                 '31' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#31">31</a>'
256                 '32' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#32">32</a>'
257                 '33' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#33">33</a>'
258                 '34' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#34">34</a>'
259                 '35' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#35">35</a>'
11                                       The SAS System         09:41 Wednesday, October 21, 2009

260                 '36' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#36">36</a>'
261                 '37' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#37">37</a>'
262                 '38' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#38">38</a>'
263                 '39' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#39">39</a>'
264                 '40' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#40">40</a>'
265                 '41' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#41">41</a>'
266                 '42' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#42">42</a>'
267                 '43' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#43">43</a>'
268                 '44' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#44">44</a>'
269                 '45' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#45">45</a>'
270                 '46' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#46">46</a>'
271                 '47' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#47">47</a>'
272                 '48' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#48">48</a>'
273                 '49' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#49">49</a>'
274                 '50' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#50">50</a>'
275                 '51' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#51">51</a>'
276                 '52' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#52">52</a>'
277                 '53' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#53">53</a>'
278                 '54' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#54">54</a>'
279                 '55' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#55">55</a>'
280                 '56' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#56">56</a>'
281                 '57' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#57">57</a>'
282                 '58' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#58">58</a>'
283                 '59' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#59">59</a>'
284                 '60' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#60">60</a>'
285                 '61' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#61">61</a>'
286                 '62' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#62">62</a>'
287                 '63' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#63">63</a>'
288                 '64' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#64">64</a>'
289                 '65' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#65">65</a>'
290                 '66' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#66">66</a>'
291                 '67' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#67">67</a>'
292                 '68' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#68">68</a>'
293                 '69' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#69">69</a>'
294                 '70' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#70">70</a>'
295                 '71' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#71">71</a>'
296                 '72' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#72">72</a>'
297                 '73' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#73">73</a>'
298                 '74' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#74">74</a>'
299                 '75' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#75">75</a>'
300                 '76' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#76">76</a>'
301                 '77' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#77">77</a>'
302                 '78' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#78">78</a>'
303                 '79' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#79">79</a>'
304                 '80' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#80">80</a>'
305                 '81' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#81">81</a>'
306                 '82' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#82">82</a>'
307                 '83' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#83">83</a>'
308                 '84' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#84">84</a>'
309                 '85' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#85">85</a>'
310                 '86' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#86">86</a>'
311                 '87' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#87">87</a>'
312                 '88' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#88">88</a>'
12                                       The SAS System         09:41 Wednesday, October 21, 2009

313                 '89' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#89">89</a>'
314                 '90' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#90">90</a>'
315                 '91' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#91">91</a>'
316                 '92' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#92">92</a>'
317                 '93' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#93">93</a>'
318                 '94' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#94">94</a>'
319                 '95' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#95">95</a>'
320                 '96' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#96">96</a>'
321                 '97' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#97">97</a>'
322                 '98' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#98">98</a>'
323                 '99' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#99">99</a>'
324                 '100' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#100">100</a>'
325                 '101' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#101">101</a>'
326                 '102' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#102">102</a>'
327                 '103' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#103">103</a>'
328                 '104' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#104">104</a>'
329                 '105' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#105">105</a>'
330                 '106' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#106">106</a>'
331                 '107' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#107">107</a>'
332                 '108' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#108">108</a>'
333                 '109' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#109">109</a>'
334                 '110' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#110">110</a>'
335                 '111' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#111">111</a>'
336                 '112' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#112">112</a>'
337                 '113' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#113">113</a>';
NOTE: Format $CASEFMT has been output.
338        
339        
340        
341                 *** Generate the format for the bookmark of variables ***;
342                 value $bookfmt
343                 "qs.studyid" = '<a name="qs.studyid">qs.studyid</a>'
344                 "qs.domain" = '<a name="qs.domain">qs.domain</a>'
345                 "qs.usubjid" = '<a name="qs.usubjid">qs.usubjid</a>'
346                 "qs.qsseq" = '<a name="qs.qsseq">qs.qsseq</a>'
347                 "qs.qsgrpid" = '<a name="qs.qsgrpid">qs.qsgrpid</a>'
348                 "qs.qsspid" = '<a name="qs.qsspid">qs.qsspid</a>'
349                 "qs.qstestcd" = '<a name="qs.qstestcd">qs.qstestcd</a>'
350                 "qs.qstest" = '<a name="qs.qstest">qs.qstest</a>'
351                 "qs.qscat" = '<a name="qs.qscat">qs.qscat</a>'
352                 "qs.qsscat" = '<a name="qs.qsscat">qs.qsscat</a>'
353                 "qs.qsorres" = '<a name="qs.qsorres">qs.qsorres</a>'
354                 "qs.qsorresu" = '<a name="qs.qsorresu">qs.qsorresu</a>'
355                 "qs.qsstresc" = '<a name="qs.qsstresc">qs.qsstresc</a>'
356                 "qs.qsstresn" = '<a name="qs.qsstresn">qs.qsstresn</a>'
357                 "qs.qsstresu" = '<a name="qs.qsstresu">qs.qsstresu</a>'
358                 "qs.qsreasnd" = '<a name="qs.qsreasnd">qs.qsreasnd</a>'
359                 "qs.qsblfl" = '<a name="qs.qsblfl">qs.qsblfl</a>'
360                 "qs.qsdrvfl" = '<a name="qs.qsdrvfl">qs.qsdrvfl</a>'
361                 "qs.visitnum" = '<a name="qs.visitnum">qs.visitnum</a>'
362                 "qs.visit" = '<a name="qs.visit">qs.visit</a>'
363                 "qs.visitdy" = '<a name="qs.visitdy">qs.visitdy</a>'
364                 "qs.qsdtc" = '<a name="qs.qsdtc">qs.qsdtc</a>'
13                                       The SAS System         09:41 Wednesday, October 21, 2009

365                 "qs.qsdy" = '<a name="qs.qsdy">qs.qsdy</a>'
366                 "qs.qstpt" = '<a name="qs.qstpt">qs.qstpt</a>'
367                 "qs.qstptnum" = '<a name="qs.qstptnum">qs.qstptnum</a>'
368                 "qs.qseltm" = '<a name="qs.qseltm">qs.qseltm</a>'
369                 "qs.qstptref" = '<a name="qs.qstptref">qs.qstptref</a>'
370                 "qs.qsrftdtc" = '<a name="qs.qsrftdtc">qs.qsrftdtc</a>'
371                 "qs.qsevlint" = '<a name="qs.qsevlint">qs.qsevlint</a>'
372                 ;
NOTE: Format $BOOKFMT has been output.
373        
374                 *** Generate the format for dataset linking ***;
375                 value $datfmt
376                 "ae" = '<a name="ae">ae</a><br>'
377                 "ae3a" = '<a name="ae3a">ae3a</a><br>'
378                 "cdisc10" = '<a name="cdisc10">cdisc10</a><br>'
379                 "cdisc11" = '<a name="cdisc11">cdisc11</a><br>'
380                 "cdisc14" = '<a name="cdisc14">cdisc14</a><br>'
381                 "cdisc15" = '<a name="cdisc15">cdisc15</a><br>'
382                 "cdisc18" = '<a name="cdisc18">cdisc18</a><br>'
383                 "cdisc2" = '<a name="cdisc2">cdisc2</a><br>'
384                 "cdisc21" = '<a name="cdisc21">cdisc21</a><br>'
385                 "cdisc2b_1" = '<a name="cdisc2b_1">cdisc2b_1</a><br>'
386                 "cdisc2b_2" = '<a name="cdisc2b_2">cdisc2b_2</a><br>'
387                 "cdisc2b_3" = '<a name="cdisc2b_3">cdisc2b_3</a><br>'
388                 "cdisc2_b" = '<a name="cdisc2_b">cdisc2_b</a><br>'
389                 "cdisc2_c" = '<a name="cdisc2_c">cdisc2_c</a><br>'
390                 "cdisc4" = '<a name="cdisc4">cdisc4</a><br>'
391                 "cdisc5" = '<a name="cdisc5">cdisc5</a><br>'
392                 "cdisc6" = '<a name="cdisc6">cdisc6</a><br>'
393                 "cdisc7" = '<a name="cdisc7">cdisc7</a><br>'
394                 "cdisc8" = '<a name="cdisc8">cdisc8</a><br>'
395                 "cdisc9" = '<a name="cdisc9">cdisc9</a><br>'
396                 "ce" = '<a name="ce">ce</a><br>'
397                 "cm" = '<a name="cm">cm</a><br>'
398                 "co" = '<a name="co">co</a><br>'
399                 "da" = '<a name="da">da</a><br>'
400                 "dm" = '<a name="dm">dm</a><br>'
401                 "ds" = '<a name="ds">ds</a><br>'
402                 "dv" = '<a name="dv">dv</a><br>'
403                 "eg" = '<a name="eg">eg</a><br>'
404                 "ex" = '<a name="ex">ex</a><br>'
405                 "fa" = '<a name="fa">fa</a><br>'
406                 "ie" = '<a name="ie">ie</a><br>'
407                 "lb" = '<a name="lb">lb</a><br>'
408                 "mb" = '<a name="mb">mb</a><br>'
409                 "mh" = '<a name="mh">mh</a><br>'
410                 "ms" = '<a name="ms">ms</a><br>'
411                 "notdm" = '<a name="notdm">notdm</a><br>'
412                 "pc" = '<a name="pc">pc</a><br>'
413                 "pe" = '<a name="pe">pe</a><br>'
414                 "pp" = '<a name="pp">pp</a><br>'
415                 "qs" = '<a name="qs">qs</a><br>'
416                 "relrec" = '<a name="relrec">relrec</a><br>'
14                                       The SAS System         09:41 Wednesday, October 21, 2009

417                 "sc" = '<a name="sc">sc</a><br>'
418                 "se" = '<a name="se">se</a><br>'
419                 "su" = '<a name="su">su</a><br>'
420                 "supmh" = '<a name="supmh">supmh</a><br>'
421                 "suppae" = '<a name="suppae">suppae</a><br>'
422                 "suppp" = '<a name="suppp">suppp</a><br>'
423                 "supte" = '<a name="supte">supte</a><br>'
424                 "supvs" = '<a name="supvs">supvs</a><br>'
425                 "sv" = '<a name="sv">sv</a><br>'
426                 "ta" = '<a name="ta">ta</a><br>'
427                 "te" = '<a name="te">te</a><br>'
428                 "ti" = '<a name="ti">ti</a><br>'
429                 "ts" = '<a name="ts">ts</a><br>'
430                 "tv" = '<a name="tv">tv</a><br>'
431                 "vs" = '<a name="vs">vs</a><br>'
432                 ;
NOTE: Format $DATFMT has been output.
433              run;

NOTE: PROCEDURE FORMAT used (Total process time):
      real time           0.07 seconds
      cpu time            0.03 seconds
      

434        
435              data work.cdisc;
436                 set work.cdisc;
437                 by libname datname datlab variable case;
438        
439                 attrib datvar label="Dataset and Variable" length=$100 format=$bookfmt.;
440                 if variable ne '' then
441                 datvar = compress(lowcase(datname) || "." || lowcase(variable));
442                 else datvar = lowcase(datname);
443                 /*format case casefmt.;*/
444                 attrib charcase label = "Case Number" length = $10;
445                 charcase = trim(left(put(case, best.)));
446                 format charcase $casefmt.;
447                 *format datname $datfmt.;
448              run;

NOTE: There were 11 observations read from the data set WORK.CDISC.
NOTE: The data set WORK.CDISC has 11 observations and 13 variables.
NOTE: DATA statement used (Total process time):
      real time           0.03 seconds
      cpu time            0.03 seconds
      

449        
450              *** Remove The Special Characters ******;
451              proc template;
452                 define style styles.test/store=work.test;
453                 parent=styles.default;
454                 style byline from titlesandfooters /
15                                       The SAS System         09:41 Wednesday, October 21, 2009

455                    protectspecialchars=off;
456                 end;
NOTE: STYLE 'Styles.Test' has been saved to: WORK.TEST
457              run;
NOTE: PROCEDURE TEMPLATE used (Total process time):
      real time           0.09 seconds
      cpu time            0.03 seconds
      

458        
459              proc sort data = work.cdisc;
460                 by libname datname datlab variable case;
461              run;

NOTE: There were 11 observations read from the data set WORK.CDISC.
NOTE: The data set WORK.CDISC has 11 observations and 13 variables.
NOTE: PROCEDURE SORT used (Total process time):
      real time           0.03 seconds
      cpu time            0.03 seconds
      

462        
463              ods listing close;
464              ods html file='cdisc49.html' style=styles.mxistyle;
NOTE: Writing HTML Body file: cdisc49.html
465              data work.qs (drop=usrname datetime);
466                 set work.cdisc;
467                 where lowcase(datname)=lowcase("qs");
468              run;

NOTE: There were 11 observations read from the data set WORK.CDISC.
      WHERE LOWCASE(datname)='qs';
NOTE: The data set WORK.QS has 11 observations and 11 variables.
NOTE: DATA statement used (Total process time):
      real time           0.01 seconds
      cpu time            0.01 seconds
      

469                       data qs(drop=xxx);
470                          set qs;
471                          retain xxx 0;
472                          if xxx = 2 then xxx = 1;
473                          else xxx = xxx + 1;
474                          yyy = compress(put(xxx,best.));
475                       run;

NOTE: There were 11 observations read from the data set WORK.QS.
NOTE: The data set WORK.QS has 11 observations and 12 variables.
NOTE: DATA statement used (Total process time):
      real time           0.03 seconds
      cpu time            0.03 seconds
      

16                                       The SAS System         09:41 Wednesday, October 21, 2009

476        
477              %let newlab = %nrbquote(Questionnaires);
478              title1 height=2 '<a name="qs"> Findings from CDISC Evaluation</a>';
479              title2 height=2 "Data Table Name = qs Data Table Label=&newlab";
480              footnote1 height=2 "Generated on: 10/21/2009,  9:41:50 am, Administrator";
481              footnote2 height=2 "Located at: C:\apache\htdocs\cdiscbuilder\data";
482               proc report data = work.qs nowindows;
483                    column obs libname datvar label type length charcase comment yyy;
484                       define obs/computed 'Obs';
485                       define libname/width=20;
486                       define datvar/width=50;
487                       define label/width=50;
488                       define type/width=20;
489                       define length/width=50;
490                       define comment/width=50;
491                       define charcase/width=50;
492                       define yyy/ noprint;
493        
494                    compute yyy;
495                       if yyy = "2" then do;
496                          call define (_row_,'style','STYLE=[BACKGROUND=cxFFFFCC]');
497                       end;
498                    endcompute;
499        
500                    compute charcase;
501                       if charcase='1' then call define
501      ! ('charcase','style','STYLE=[BACKGROUND=CXccffcc JUST=CENTER]');
502                       if charcase='2' then call define
502      ! ('charcase','style','STYLE=[BACKGROUND=CXcd0030 JUST=CENTER]');
503                       if charcase='3' then call define
503      ! ('charcase','style','STYLE=[BACKGROUND=CXcd0094 JUST=CENTER]');
504                       if charcase='4' then call define
504      ! ('charcase','style','STYLE=[BACKGROUND=CXcd00f8 JUST=CENTER]');
505                       if charcase='5' then call define
505      ! ('charcase','style','STYLE=[BACKGROUND=CXcd015c JUST=CENTER]');
506                       if charcase='6' then call define
506      ! ('charcase','style','STYLE=[BACKGROUND=CXcd01c0 JUST=CENTER]');
507                       if charcase='7' then call define
507      ! ('charcase','style','STYLE=[BACKGROUND=CXcd0224 JUST=CENTER]');
508                       if charcase='8' then call define
508      ! ('charcase','style','STYLE=[BACKGROUND=CXcd0288 JUST=CENTER]');
509                       if charcase='9' then call define
509      ! ('charcase','style','STYLE=[BACKGROUND=CXcd02ec JUST=CENTER]');
510                       if charcase='10' then call define
510      ! ('charcase','style','STYLE=[BACKGROUND=CXcd0350 JUST=CENTER]');
511                       if charcase='11' then call define
511      ! ('charcase','style','STYLE=[BACKGROUND=CXcd03b4 JUST=CENTER]');
512                       if charcase='12' then call define
512      ! ('charcase','style','STYLE=[BACKGROUND=CXcd0418 JUST=CENTER]');
513                       if charcase='13' then call define
513      ! ('charcase','style','STYLE=[BACKGROUND=CXcd047c JUST=CENTER]');
514                       if charcase='14' then call define
514      ! ('charcase','style','STYLE=[BACKGROUND=CXcd04e0 JUST=CENTER]');
17                                       The SAS System         09:41 Wednesday, October 21, 2009

515                       if charcase='15' then call define
515      ! ('charcase','style','STYLE=[BACKGROUND=CXcd0544 JUST=CENTER]');
516                       if charcase='16' then call define
516      ! ('charcase','style','STYLE=[BACKGROUND=CXcd05a8 JUST=CENTER]');
517                       if charcase='17' then call define
517      ! ('charcase','style','STYLE=[BACKGROUND=CXcd060c JUST=CENTER]');
518                       if charcase='18' then call define
518      ! ('charcase','style','STYLE=[BACKGROUND=CXcd0670 JUST=CENTER]');
519                       if charcase='19' then call define
519      ! ('charcase','style','STYLE=[BACKGROUND=CXcd06d4 JUST=CENTER]');
520                       if charcase='20' then call define
520      ! ('charcase','style','STYLE=[BACKGROUND=CXffffcc JUST=CENTER]');
521                       if charcase='21' then call define
521      ! ('charcase','style','STYLE=[BACKGROUND=CX398C54 JUST=CENTER]');
522                       if charcase='22' then call define
522      ! ('charcase','style','STYLE=[BACKGROUND=CX398d1c JUST=CENTER]');
523                       if charcase='23' then call define
523      ! ('charcase','style','STYLE=[BACKGROUND=CX398d80 JUST=CENTER]');
524                       if charcase='24' then call define
524      ! ('charcase','style','STYLE=[BACKGROUND=CX398de4 JUST=CENTER]');
525                       if charcase='25' then call define
525      ! ('charcase','style','STYLE=[BACKGROUND=CX398e48 JUST=CENTER]');
526                       if charcase='26' then call define
526      ! ('charcase','style','STYLE=[BACKGROUND=CX398eac JUST=CENTER]');
527                       if charcase='27' then call define
527      ! ('charcase','style','STYLE=[BACKGROUND=CX398f10 JUST=CENTER]');
528                       if charcase='28' then call define
528      ! ('charcase','style','STYLE=[BACKGROUND=CX398f74 JUST=CENTER]');
529                       if charcase='29' then call define
529      ! ('charcase','style','STYLE=[BACKGROUND=CX398fd8 JUST=CENTER]');
530                       if charcase='30' then call define
530      ! ('charcase','style','STYLE=[BACKGROUND=CX39903c JUST=CENTER]');
531                       if charcase='31' then call define
531      ! ('charcase','style','STYLE=[BACKGROUND=CX3990a0 JUST=CENTER]');
532                       if charcase='32' then call define
532      ! ('charcase','style','STYLE=[BACKGROUND=CX399104 JUST=CENTER]');
533                       if charcase='33' then call define
533      ! ('charcase','style','STYLE=[BACKGROUND=CX399168 JUST=CENTER]');
534                       if charcase='34' then call define
534      ! ('charcase','style','STYLE=[BACKGROUND=CX3991cc JUST=CENTER]');
535                       if charcase='35' then call define
535      ! ('charcase','style','STYLE=[BACKGROUND=CX399230 JUST=CENTER]');
536                       if charcase='36' then call define
536      ! ('charcase','style','STYLE=[BACKGROUND=CX399294 JUST=CENTER]');
537                       if charcase='37' then call define
537      ! ('charcase','style','STYLE=[BACKGROUND=CX3992f8 JUST=CENTER]');
538                       if charcase='38' then call define
538      ! ('charcase','style','STYLE=[BACKGROUND=CX39935c JUST=CENTER]');
539                       if charcase='39' then call define
539      ! ('charcase','style','STYLE=[BACKGROUND=CXffcccc JUST=CENTER]');
540                       if charcase='40' then call define
540      ! ('charcase','style','STYLE=[BACKGROUND=CXffcd30 JUST=CENTER]');
541                       if charcase='41' then call define
18                                       The SAS System         09:41 Wednesday, October 21, 2009

541      ! ('charcase','style','STYLE=[BACKGROUND=CXffcd94 JUST=CENTER]');
542                       if charcase='42' then call define
542      ! ('charcase','style','STYLE=[BACKGROUND=CXffcdf8 JUST=CENTER]');
543                       if charcase='43' then call define
543      ! ('charcase','style','STYLE=[BACKGROUND=CXffce5c JUST=CENTER]');
544                       if charcase='44' then call define
544      ! ('charcase','style','STYLE=[BACKGROUND=CXffcec0 JUST=CENTER]');
545                       if charcase='45' then call define
545      ! ('charcase','style','STYLE=[BACKGROUND=CXffcf24 JUST=CENTER]');
546                       if charcase='46' then call define
546      ! ('charcase','style','STYLE=[BACKGROUND=CXffcf88 JUST=CENTER]');
547                       if charcase='47' then call define
547      ! ('charcase','style','STYLE=[BACKGROUND=CXffcfec JUST=CENTER]');
548                       if charcase='48' then call define
548      ! ('charcase','style','STYLE=[BACKGROUND=CXffd050 JUST=CENTER]');
549                       if charcase='49' then call define
549      ! ('charcase','style','STYLE=[BACKGROUND=CXffd0b4 JUST=CENTER]');
550                       if charcase='50' then call define
550      ! ('charcase','style','STYLE=[BACKGROUND=CXffd118 JUST=CENTER]');
551                       if charcase='51' then call define
551      ! ('charcase','style','STYLE=[BACKGROUND=CXffd17c JUST=CENTER]');
552                       if charcase='52' then call define
552      ! ('charcase','style','STYLE=[BACKGROUND=CXffd1e0 JUST=CENTER]');
553                       if charcase='53' then call define
553      ! ('charcase','style','STYLE=[BACKGROUND=CXffd244 JUST=CENTER]');
554                       if charcase='54' then call define
554      ! ('charcase','style','STYLE=[BACKGROUND=CXffd2a8 JUST=CENTER]');
555                       if charcase='55' then call define
555      ! ('charcase','style','STYLE=[BACKGROUND=CXffd30c JUST=CENTER]');
556                       if charcase='56' then call define
556      ! ('charcase','style','STYLE=[BACKGROUND=CXffd370 JUST=CENTER]');
557                       if charcase='57' then call define
557      ! ('charcase','style','STYLE=[BACKGROUND=CXffd3d4 JUST=CENTER]');
558                       if charcase='58' then call define
558      ! ('charcase','style','STYLE=[BACKGROUND=CXccccff JUST=CENTER]');
559                       if charcase='59' then call define
559      ! ('charcase','style','STYLE=[BACKGROUND=CXcccd63 JUST=CENTER]');
560                       if charcase='60' then call define
560      ! ('charcase','style','STYLE=[BACKGROUND=CXcccdc7 JUST=CENTER]');
561                       if charcase='61' then call define
561      ! ('charcase','style','STYLE=[BACKGROUND=CXccce2b JUST=CENTER]');
562                       if charcase='62' then call define
562      ! ('charcase','style','STYLE=[BACKGROUND=CXccce8f JUST=CENTER]');
563                       if charcase='63' then call define
563      ! ('charcase','style','STYLE=[BACKGROUND=CXcccef3 JUST=CENTER]');
564                       if charcase='64' then call define
564      ! ('charcase','style','STYLE=[BACKGROUND=CXcccf57 JUST=CENTER]');
565                       if charcase='65' then call define
565      ! ('charcase','style','STYLE=[BACKGROUND=CXcccfbb JUST=CENTER]');
566                       if charcase='66' then call define
566      ! ('charcase','style','STYLE=[BACKGROUND=CXccd01f JUST=CENTER]');
567                       if charcase='67' then call define
567      ! ('charcase','style','STYLE=[BACKGROUND=CXccd083 JUST=CENTER]');
19                                       The SAS System         09:41 Wednesday, October 21, 2009

568                       if charcase='68' then call define
568      ! ('charcase','style','STYLE=[BACKGROUND=CXccd0e7 JUST=CENTER]');
569                       if charcase='69' then call define
569      ! ('charcase','style','STYLE=[BACKGROUND=CXccd14b JUST=CENTER]');
570                       if charcase='70' then call define
570      ! ('charcase','style','STYLE=[BACKGROUND=CXccd1af JUST=CENTER]');
571                       if charcase='71' then call define
571      ! ('charcase','style','STYLE=[BACKGROUND=CXccd213 JUST=CENTER]');
572                       if charcase='72' then call define
572      ! ('charcase','style','STYLE=[BACKGROUND=CXccd277 JUST=CENTER]');
573                       if charcase='73' then call define
573      ! ('charcase','style','STYLE=[BACKGROUND=CXccd2db JUST=CENTER]');
574                       if charcase='74' then call define
574      ! ('charcase','style','STYLE=[BACKGROUND=CXccd33f JUST=CENTER]');
575                       if charcase='75' then call define
575      ! ('charcase','style','STYLE=[BACKGROUND=CXccd3a3 JUST=CENTER]');
576                       if charcase='76' then call define
576      ! ('charcase','style','STYLE=[BACKGROUND=CXccd407 JUST=CENTER]');
577                       if charcase='77' then call define
577      ! ('charcase','style','STYLE=[BACKGROUND=CX99ccff JUST=CENTER]');
578                       if charcase='78' then call define
578      ! ('charcase','style','STYLE=[BACKGROUND=CX99cd63 JUST=CENTER]');
579                       if charcase='79' then call define
579      ! ('charcase','style','STYLE=[BACKGROUND=CX99cdc7 JUST=CENTER]');
580                       if charcase='80' then call define
580      ! ('charcase','style','STYLE=[BACKGROUND=CX99ce2b JUST=CENTER]');
581                       if charcase='81' then call define
581      ! ('charcase','style','STYLE=[BACKGROUND=CX99ce8f JUST=CENTER]');
582                       if charcase='82' then call define
582      ! ('charcase','style','STYLE=[BACKGROUND=CX99cef3 JUST=CENTER]');
583                       if charcase='83' then call define
583      ! ('charcase','style','STYLE=[BACKGROUND=CX99cf57 JUST=CENTER]');
584                       if charcase='84' then call define
584      ! ('charcase','style','STYLE=[BACKGROUND=CX99cfbb JUST=CENTER]');
585                       if charcase='85' then call define
585      ! ('charcase','style','STYLE=[BACKGROUND=CX99d01f JUST=CENTER]');
586                       if charcase='86' then call define
586      ! ('charcase','style','STYLE=[BACKGROUND=CX99d083 JUST=CENTER]');
587                       if charcase='87' then call define
587      ! ('charcase','style','STYLE=[BACKGROUND=CX99d0e7 JUST=CENTER]');
588                       if charcase='88' then call define
588      ! ('charcase','style','STYLE=[BACKGROUND=CX99d14b JUST=CENTER]');
589                       if charcase='89' then call define
589      ! ('charcase','style','STYLE=[BACKGROUND=CX99d1af JUST=CENTER]');
590                       if charcase='90' then call define
590      ! ('charcase','style','STYLE=[BACKGROUND=CX99d213 JUST=CENTER]');
591                       if charcase='91' then call define
591      ! ('charcase','style','STYLE=[BACKGROUND=CX99d277 JUST=CENTER]');
592                       if charcase='92' then call define
592      ! ('charcase','style','STYLE=[BACKGROUND=CX99d2db JUST=CENTER]');
593                       if charcase='93' then call define
593      ! ('charcase','style','STYLE=[BACKGROUND=CX99d33f JUST=CENTER]');
594                       if charcase='94' then call define
20                                       The SAS System         09:41 Wednesday, October 21, 2009

594      ! ('charcase','style','STYLE=[BACKGROUND=CX99d3a3 JUST=CENTER]');
595                       if charcase='95' then call define
595      ! ('charcase','style','STYLE=[BACKGROUND=CX99d407 JUST=CENTER]');
596                       if charcase='96' then call define
596      ! ('charcase','style','STYLE=[BACKGROUND=CXffcc99 JUST=CENTER]');
597                       if charcase='97' then call define
597      ! ('charcase','style','STYLE=[BACKGROUND=CXffccfd JUST=CENTER]');
598                       if charcase='98' then call define
598      ! ('charcase','style','STYLE=[BACKGROUND=CXffcd61 JUST=CENTER]');
599                       if charcase='99' then call define
599      ! ('charcase','style','STYLE=[BACKGROUND=CXffcdc5 JUST=CENTER]');
600                       if charcase='100' then call define
600      ! ('charcase','style','STYLE=[BACKGROUND=CXffce29 JUST=CENTER]');
601                       if charcase='101' then call define
601      ! ('charcase','style','STYLE=[BACKGROUND=CXffce8d JUST=CENTER]');
602                       if charcase='102' then call define
602      ! ('charcase','style','STYLE=[BACKGROUND=CXffcef1 JUST=CENTER]');
603                       if charcase='103' then call define
603      ! ('charcase','style','STYLE=[BACKGROUND=CXffcf55 JUST=CENTER]');
604                       if charcase='104' then call define
604      ! ('charcase','style','STYLE=[BACKGROUND=CXffcfb9 JUST=CENTER]');
605                       if charcase='105' then call define
605      ! ('charcase','style','STYLE=[BACKGROUND=CXffd01d JUST=CENTER]');
606                       if charcase='106' then call define
606      ! ('charcase','style','STYLE=[BACKGROUND=CXffd081 JUST=CENTER]');
607                       if charcase='107' then call define
607      ! ('charcase','style','STYLE=[BACKGROUND=CXffd0e5 JUST=CENTER]');
608                       if charcase='108' then call define
608      ! ('charcase','style','STYLE=[BACKGROUND=CXffd149 JUST=CENTER]');
609                       if charcase='109' then call define
609      ! ('charcase','style','STYLE=[BACKGROUND=CXffd1ad JUST=CENTER]');
610                       if charcase='110' then call define
610      ! ('charcase','style','STYLE=[BACKGROUND=CXffd211 JUST=CENTER]');
611                       if charcase='111' then call define
611      ! ('charcase','style','STYLE=[BACKGROUND=CXffd275 JUST=CENTER]');
612                       if charcase='112' then call define
612      ! ('charcase','style','STYLE=[BACKGROUND=CXffd2d9 JUST=CENTER]');
613                       if charcase='113' then call define
613      ! ('charcase','style','STYLE=[BACKGROUND=CXffd33d JUST=CENTER]');
614                    endcomp;
615        
616                    compute obs;
617                       dobs + 1;
618                       obs = dobs;
619                    endcompute;
620                 run;

NOTE: There were 11 observations read from the data set WORK.QS.
NOTE: PROCEDURE REPORT used (Total process time):
      real time           0.12 seconds
      cpu time            0.06 seconds
      

21                                       The SAS System         09:41 Wednesday, October 21, 2009

621              run;
622              ods html close;
623              ods listing;
NOTE: PROCEDURE DISPLAY used (Total process time):
      real time           3.68 seconds
      cpu time            3.03 seconds
      


NOTE: SAS Institute Inc., SAS Campus Drive, Cary, NC USA 27513-2414
NOTE: The SAS System used:
      real time           4.42 seconds
      cpu time            3.70 seconds
      
