初学宏,感觉理解得不对,请问如何能做这种批量化处理,求大神带带。
%macro combine(name=, length=);
&name=.; *先设置成missing;
%do i=1 %to &length;
%if &name___&&i=1 %then %do;
&name=&i;
%return;%end; *如果abc___x=1,则设置abc=x,退出循环;
%end;
%mend combine;
data datab;
set dataa;
%combine(name=abc, length=3)
*怎么调用都不对;
run;
我以为宏是可以当做一段文本,直接嵌入data步每次改参数(在这里是想要合并的列名,列数)就行,很显然不对