第一步:读取work逻辑库下所有数据集名称,生成名称集datanm
- proc contents data=work._all_ out=datanm(keep=memname) noprint;
- run;
- proc sort data=datanm nodup; by memname; run;
参考:https://bbs.pinggu.org/jg/shuju_shujuziyuan_1033336_1.html
第二步:合并work逻辑库下的有所数据集,可以merge, 也可以set。
- data _null_;
- set datanm;
- call symputx('max',_n_);
- call symputx('data'||strip(put(_n_,best.)),memname);
- run;
- %macro merge(out);
- %do i=1 %to &max;
- data &out;
- merge %if %sysfunc(exist(&out,data)) %then &out; &&data&i;
- by cardid;
- run;
- %end;
- %mend;
- %merge(total);



雷达卡



京公网安备 11010802022788号







