我正在运行一个包含宏函数的宏循环,如下所示:
%macro loop;
%do j=1 %to 1000;
%macro variable;
%end;
%mend;
宏变量本身包含一些宏函数,如下所示:
%macro variable;
%macro rename(x);
proc sql;
create table Renamed&j&x as
select *,
rename1 as rename1,
rename2 as rename2,
...
from rename&j&x
quit;
%rename(1);
%rename(2);
....
%mend;
%mend;
这些粘性、嵌套的宏循环和变量的正确语法是什么?我似乎记得使用 &&j 和 &x 但我遇到了错误。
如果我用 2 替换所有 &j,代码就可以工作,所以代码很好,循环的递归性质没有正确注入变量。TIA。