%macro sqlloop(begin,stop); /* &exam is the variable for looping through the eight exams of the cohort */ PROC SQL noprint; %DO exam=&begin. %TO &stop.; %let i=%eval(&exam. +1); /* %put the value of i is &i; %let k=%eval(&exam + 2); */ CREATE TABLE Gout_miss_&exam. as SELECT t1.sample, t1.shareid, t1.exams, t1.cohort, t1.gout_inci, count(*) as GoutMiss_&exam. FROM work.FRAMINGHAM_CLEANDATA_1 t1 where (t1.exams = &exam.) and (t1.gout_inci = 'NA') ; CREATE table gout_inci&exam. as SELECT t1.sample, t1.shareid, t1.exams, t1.cohort, t1.gout_inci, count (*) as GoutInci_&exam. FROM work.FRAMINGHAM_CLEANDATA_1 t1 where (t1.exams = &exam.) and (t1.gout_inci = '1'); %END; %mend; %sqlloop(begin=1, stop=8 ); proc sql; create table Gout_miss_12 as SELECT A.sample, A.shareid, A.exams, A.cohort, A.gout_inci, count(*) as GoutMiss_ from Gout_miss_1 A inner join Gout_miss_2 B on (A.sample = B.sample) inner join Gout_inci3 t1 on (A.sample= t1.sample); create table Gout_miss_123 as SELECT A.sample, A.shareid, A.exams, A.cohort, A.gout_inci, count(*) as GoutMiss_ from Gout_miss_1 A inner join Gout_miss_2 B on (A.sample = B.sample) inner join Gout_miss_3 C on (A.sample = C.sample) inner join Gout_inci4 t1 on (A.sample= t1.sample); create table Gout_miss_1234 as SELECT A.sample, A.shareid, A.exams, A.cohort, A.gout_inci, count(*) as GoutMiss_ from Gout_miss_1 A inner join Gout_miss_2 B on (A.sample = B.sample) inner join Gout_miss_3 C on (A.sample = C.sample) inner join Gout_miss_4 D on (A.sample = D.sample) inner join Gout_inci5 t1 on (A.sample= t1.sample); create table Gout_miss_12345 as SELECT A.sample, A.shareid, A.exams, A.cohort, A.gout_inci, count(*) as GoutMiss_ from Gout_miss_1 A inner join Gout_miss_2 B on (A.sample = B.sample) inner join Gout_miss_3 C on (A.sample = C.sample) inner join Gout_miss_4 D on (A.sample = D.sample) inner join Gout_miss_5 E on (A.sample = E.sample) inner join Gout_inci6 t1 on (A.sample= t1.sample); create table Gout_miss_123456 as SELECT A.sample, A.shareid, A.exams, A.cohort, A.gout_inci, count(*) as GoutMiss_ from Gout_miss_1 A inner join Gout_miss_2 B on (A.sample = B.sample) inner join Gout_miss_3 C on (A.sample = C.sample) inner join Gout_miss_4 D on (A.sample = D.sample) inner join Gout_miss_5 E on (A.sample = E.sample) inner join Gout_miss_6 F on (A.sample = F.sample) inner join Gout_inci7 t1 on (A.sample= t1.sample); create table Gout_miss_1234567 as SELECT A.sample, A.shareid, A.exams, A.cohort, A.gout_inci, count(*) as GoutMiss_ from Gout_miss_1 A inner join Gout_miss_2 B on (A.sample = B.sample) inner join Gout_miss_3 C on (A.sample = C.sample) inner join Gout_miss_4 D on (A.sample = D.sample) inner join Gout_miss_5 E on (A.sample = E.sample) inner join Gout_miss_6 F on (A.sample = F.sample) inner join Gout_miss_7 G on (A.sample = G.sample) inner join Gout_inci8 t1 on (A.sample= t1.sample); quit;
... View more