Ok. Note, you would need to have all variables of the same type, e.g numeric. Otherwise its more complicated as you have to do the code twice, first to convert text to number. You can pre-fill some macro variables and then use those, something like: proc sql noprint; select NAME into :LIST separated by ' ' from SASHELP.VCOLUMN where LIBNAME="WORK" and MEMNAME="HAVE" and index(NAME,"2014")>0; select count(NAME) into :LIST_COUNT from SASHELP.VCOLUMN where LIBNAME="WORK" and MEMNAME="HAVE" and index(NAME,"2014")>0; quit; Then, same as before, but using these macros: data want; set have; new_col=0; array items{&LIST_COUNT.} &LIST.; do i=1 to &LIST_COUNT.; if items{i}=0 then new_col=new_col+1; end; run;
... View more