%macro combine(dset=);
%do i=1 %to 100;
data d&i;
set &dset (keep=id date name a&i b&i t&i);
rename a&i=a b&i=b t&i=t;
run;
if &i = 1 then do;
data results;
set d&1;
run;
end;
else do;
data results;
set results d&i;
run;
end;
%end;
%mend combine;
%combine(dset=test)
这里是模拟的数据.
data test;
array a{100};
array b{100};
array t{100};
format date yymmdd10.;
DO i = 1 to 5;
Id = i;
Date = today() +i;
name = collate(64+i, 66+i);
do j = 1 to dim(a);
a(j) = i+j+1;
b(j) = i+j+2;
t(j) = i+j+3;
end;
output;
end;
drop i j;
run;