%macro createSample; /* create simulated 10 datasets */
data myfiles; /* create a dataset that hold the dataset names */
do i=101 to 110;
name='Data'||put(i,3.);
output;
end;
drop i;
run;
proc sql;
select name into :F_name separated by ' '
from myfiles;
quit;
%let N_file = %sysfunc(countw(&F_name));
%do i=1 %to &N_file;
%let data=%qscan(&F_name, &i, %str( ));
data &data;
do j=1 to 10;
var=ranuni(&i);
output;
end;
run;
%end;
%mend createSample;
%createSample;
/* do some demo work such as print each dataset and append all the dataset together */
%macro Print_Append_data;
proc sql;
select name into :F_name separated by ' '
from myfiles;
quit;