qinglingnvhai 发表于 2012-10-23 11:05 
谢谢你的解答,我试过了,可以的!不过
set %do i = 1 %to &N_data;
raw.&&dataName&i
首先在data _null_ step将raw这个library下面的datasets个数赋给了macro variable: N_data;并且将datasets name依次赋给macro variables: dataName1, dataName2,....直到dataName&N_data.
在合并数据的那段程序中,
set %do i = 1 %to &N_data;
raw.&&dataName&i %end;;
SAS 在运行前会先将这段macro解释出来。
第一步,变成 set &dataName1 &dataName2 &dataName3 ... ;
第二步,在去找macro variables: dataName1, dataName2...所获得的值。