%macro dqcreadin(id=); %xls2sas(_infile=dqc.xlsx, _indir=../../../../../metadata, _sheet=Sheet1, _datarow=2, _outdata=dqcout); data dqcout; set dqcout(rename=(var1=id var3=title var6=variables var7=domain var8=issue var10=exception)); if issue='Yes'; if id="&id"; domain=tranwrd(domain,', ','#'); if index(variables,'--')>0 then variables=tranwrd(variables,'--',"&dsn."); variables=tranwrd(variables,', ',' '); dmvars =tranwrd(exception,',',' '); keep id title variables domain issue dmvars ; run; %global id title variables domain dmvars; proc sql; select id, title , variables, domain, dmvars into :id, :title , :variables, :domain, :dmvars from dqcout ; quit; %put &id &title &variables &domain &dmvars; %mend dqcreadin; Main code: %macro missblfl; %symdel variables; %dqcreadin(id=0021); %if %symexist(domain) %then %do; %do i= 1 %to %eval(%sysfunc(count(&domain,#))+1); %let dsn=%scan(&domain,&i,#); %if %sysfunc(exist(&sdtm..&dsn)) %then %do; data &dsn; set &sdtm..&dsn (keep=usubjid &variables); record=_n_; run; %end; %end; %end; %mend; %missblfl;
... View more