data a;
input x$ @@;
cards;
a aa a a bb bb bb ccc cc cc cc
;
run;
proc sql noprint;
select count(distinct x) into :n from a;
select distinct x into :vx1-:vx%sysfunc(strip(&n.)) from a;
quit;
%put n=&n. vx=&&vx%sysfunc(strip(&n.)) ;