OK. I'm not sure how to get the proc contents output into a format for posting... data samples (keep=SubjectID Visit1-Visit11 EnrollmentStatus UnenrollmentDate MayFilterPaper1 MayRNA1 MayFilterPaper2 MayRNA2 JuneFilterPaper1 JuneRNA1 JuneFilterPaper2 JuneRNA2 JulyFilterPaper1 JulyRNA1 JulyFilterPaper2 JulyRNA2 AugustFilterPaper1 AugustRNA1 AugustFilterPaper2 AugustRNA2 SeptemberFilterPaper1 SeptemberRNA1 SeptemberFilterPaper2 SeptemberRNA2 OctoberFilterPaper1 OctoberRNA1 OctoberFilterPaper2 OctoberRNA2 MayVisit1); retain SubjectID EnrollmentStatus UnenrollmentDate; merge visitstemp visits; format SubjectID ML_Format.; /* The following creates a simple to use Visit Date list. The "Visit1-11" format allows simple calling of ranges in SAS. The labels section creates label headers needed for simple use in updating BSI.*/ if MayRNA1="Yes" and MayFilterPaper1="Yes" then Visit1=MayVisit1; if JuneRNA1="Yes" and JuneFilterPaper1="Yes" then Visit2=JuneVisit1; if JuneRNA2="Yes" and JuneFilterPaper2="Yes" then Visit3=JuneVisit2; if JulyRNA1="Yes" and JulyFilterPaper1="Yes" then Visit4=JulyVisit1; if JulyRNA2="Yes" and JulyFilterPaper2="Yes" then Visit5=JulyVisit2; if AugustRNA1="Yes" and AugustFilterPaper1="Yes" then Visit6=AugustVisit1; if AugustRNA2="Yes" and AugustFilterPaper2="Yes" then Visit7=AugustVisit2; if SeptemberRNA1="Yes" and SeptemberFilterPaper1="Yes" then Visit8=SeptemberVisit1; if SeptemberRNA2="Yes" and SeptemberFilterPaper2="Yes" then Visit9=SeptemberVisit2; if OctoberRNA1="Yes" and OctoberFilterPaper1="Yes" then Visit10=OctoberVisit1; if OctoberRNA2="Yes" and OctoberFilterPaper2="Yes" then Visit11=OctoberVisit2; format Visit1-Visit11 mmddyy10.; run; data samples2; set samples; label Visit1="May 2013, Visit 1" Visit2="June 2013, Visit 1" Visit3="June 2013, Visit 2" Visit4="July 2013, Visit 1" Visit5="July 2013, Visit 2" Visit6="August 2013, Visit 1" Visit7="August 2013, Visit 2" Visit8="September 2013, Visit 1" Visit9="September 2013, Visit 2" Visit10="October 2013, Visit 1" Visit11="October 2013, Visit 2"; run; proc print data=Samples2 label; run; LOG: 1948 data samples (keep=SubjectID Visit1-Visit11 EnrollmentStatus UnenrollmentDate 1948! MayFilterPaper1 MayRNA1 MayFilterPaper2 MayRNA2 JuneFilterPaper1 JuneRNA1 JuneFilterPaper2 1948! JuneRNA2 1949 JulyFilterPaper1 JulyRNA1 JulyFilterPaper2 JulyRNA2 AugustFilterPaper1 1949! AugustRNA1 AugustFilterPaper2 AugustRNA2 1950 SeptemberFilterPaper1 SeptemberRNA1 SeptemberFilterPaper2 SeptemberRNA2 1951 OctoberFilterPaper1 OctoberRNA1 OctoberFilterPaper2 OctoberRNA2 MayVisit1); 1952 retain SubjectID EnrollmentStatus UnenrollmentDate; 1953 merge visitstemp visits; 1954 format SubjectID ML_Format.; 1955 1956 /* The following creates a simple to use Visit Date list. The "Visit1-11" format allows 1956! simple calling of 1957 ranges in SAS. The labels section creates label headers needed for simple use in 1957! updating BSI.*/ 1958 if MayRNA1="Yes" and MayFilterPaper1="Yes" then Visit1=MayVisit1; 1959 if JuneRNA1="Yes" and JuneFilterPaper1="Yes" then Visit2=JuneVisit1; 1960 if JuneRNA2="Yes" and JuneFilterPaper2="Yes" then Visit3=JuneVisit2; 1961 if JulyRNA1="Yes" and JulyFilterPaper1="Yes" then Visit4=JulyVisit1; 1962 if JulyRNA2="Yes" and JulyFilterPaper2="Yes" then Visit5=JulyVisit2; 1963 if AugustRNA1="Yes" and AugustFilterPaper1="Yes" then Visit6=AugustVisit1; 1964 if AugustRNA2="Yes" and AugustFilterPaper2="Yes" then Visit7=AugustVisit2; 1965 if SeptemberRNA1="Yes" and SeptemberFilterPaper1="Yes" then Visit8=SeptemberVisit1; 1966 if SeptemberRNA2="Yes" and SeptemberFilterPaper2="Yes" then Visit9=SeptemberVisit2; 1967 if OctoberRNA1="Yes" and OctoberFilterPaper1="Yes" then Visit10=OctoberVisit1; 1968 if OctoberRNA2="Yes" and OctoberFilterPaper2="Yes" then Visit11=OctoberVisit2; 1969 1970 format Visit1-Visit11 mmddyy10.; 1971 run; WARNING: The variable MayFilterPaper2 in the DROP, KEEP, or RENAME list has never been referenced. WARNING: The variable MayRNA2 in the DROP, KEEP, or RENAME list has never been referenced. NOTE: There were 500 observations read from the data set WORK.VISITSTEMP. NOTE: There were 500 observations read from the data set WORK.VISITS. NOTE: The data set WORK.SAMPLES has 500 observations and 37 variables. NOTE: DATA statement used (Total process time): real time 0.06 seconds cpu time 0.00 seconds 1972 1973 1974 data samples2; 1975 set samples; 1976 label Visit1="May 2013, Visit 1" 1977 Visit2="June 2013, Visit 1" 1978 Visit3="June 2013, Visit 2" 1979 Visit4="July 2013, Visit 1" 1980 Visit5="July 2013, Visit 2" 1981 Visit6="August 2013, Visit 1" 1982 Visit7="August 2013, Visit 2" 1983 Visit8="September 2013, Visit 1" 1984 Visit9="September 2013, Visit 2" 1985 Visit10="October 2013, Visit 1" 1986 Visit11="October 2013, Visit 2"; 1987 run; NOTE: There were 500 observations read from the data set WORK.SAMPLES. NOTE: The data set WORK.SAMPLES2 has 500 observations and 37 variables. NOTE: DATA statement used (Total process time): real time 0.03 seconds cpu time 0.03 seconds 1988 1989 proc print data=Samples2 label; 1990 run; NOTE: There were 500 observations read from the data set WORK.SAMPLES2. NOTE: PROCEDURE PRINT used (Total process time): real time 0.87 seconds cpu time 0.76 seconds 1991 1992 proc contents data=samples2; 1993 run; NOTE: PROCEDURE CONTENTS used (Total process time): real time 0.12 seconds cpu time 0.04 seconds
... View more