兄弟,如果你所有的数据集名字都在一个数据集中,并且为一个变量下的所观测,假设该变量为setlist,有100个观测。不管你数据集的名字有没有规律,都可以用sql将该变量的所有观测(即所有数据集的名字)赋值给100个宏变量,然后对宏变量所循环。程序如下:
proc sql;
select setlist into:c1-:c100 from a;
quit; /*将100个名字赋给c1,c2,c3...c100等100个宏变量*/
%put &c1 &c100; /*观察一下宏变量的值,是否有错*/
%macro repeat;
%do i=1 %to 100;
data &&c&i;
....
run;
%end;
%mend;
%repeat;
用宏对你所有的数据集执行相同的程序