So the following code does what I want to do. Thanks Reeza for your patience. %macro loop(dset);
proc sql;
select distinct var1 into: var1_value separated by '*'
from &dset.;
select count(distinct var1) into: num
from &dset.;
quit;
%do i = 1 %to &num.;
proc stdize data=&dset. outstat=var2_stats
pctlpts = 0, 1, 5, 10, 25, 50, 75, 90, 95, 99, 100;
where var1 = %scan(&var1_value.,&i.,*);
var var2;
run;
proc export
data=var2_stats
outfile="multisheet"
dbms=xlsx replace;
sheet="var1=%scan(&var1_value.,&i.,*)";
run;
%end;
%mend loop;
%loop(dset=have);
... View more