%macro substractcol;
proc sql noprint;
select count(distinct id) into :cnt from mydata;
quit;
%let cnt=%eval(&cnt);
proc sql noprint;
select distinct id into :id_1-:id_&cnt. from mydata;
quit;
data myfinal;
set mydatal;
keep &id_1-&&id_&n.; /*该行需要怎么写,想要保存宏变量保存的列名*/
run;
%mend substractcol;
%substractcol;