试试看,只是结果的变量名的顺序有些不同
%let vars=rbc1 rb1c2 wbc1 rbc2 wbc2 rbc2_2;
data a;
str="&vars";
k=1;
do while(scan(str,k) ne "");
str1=scan(str,k);
newstr=substr(str1,1,length(translate(str1,' ','0123456789_')));
output;
k=k+1;
end;
run;
proc sql noprint;
select distinct newstr into :vars1 separated by ' '
from a;
quit;
%put &vars1;