%macro getalldata(liblist = diff*diff1*diff2,out=);
data &out.;
set
%do i = 1 %to %sysfunc(countw(&liblist,*));
%let libnam = %scan(&liblist,&i,*);
%if %sysfunc(exist(&libnam.)) %then %do; &libnam. %end;
%end;;
run;
%mend getalldata;
%getalldata;
note:liblist里面放的宏变量用星号连接,如果换成其他的分隔符,countw()里面的符号需要换成对应的。
out定义输出的数据集名称。
本文介绍了一个SAS宏函数`getalldata`,它接收一个包含多个数据库名称的星号分隔的宏变量,然后合并并设置到一个输出数据集中,用于数据操作和管理。
2008





