I am trying to loop through a list of values in the where clause and select into a var. only retaining last value. %macro Test (data, varlist); %let dsid = %sysfunc(open(&data)); %let nobs = %sysfunc(attrn(&dsid,nlobs)); %let dsid = %sysfunc(close(&dsid)); %let nbrwords = %sysfunc(countw(&varlist)); %put &nbrwords.; %do i = 1 %to &nbrwords; %let dsname = %scan(&varlist,&i,%str( ));; %let ds = %scan(&data, -1, '.'); %let ln = %scan(&data, +1, '.'); PROC SQL; SELECT name into :numlist separated by ',' FROM dictionary.columns WHERE type eq "num" and libname eq "TESTDATA" and memname eq "TEST_DATASET1" and name eq %upcase("&dsname") ; QUIT; %end; %put &numlist; %mend Test; %Test(testdata.test_dataset1,height weight);
... View more