0

次のようなマクロ関数を含むマクロ ループを実行しています。

%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 の使用を覚えているようですが、エラーが発生します。

すべての&jを2に置き換えるとコードが機能するため、コードは問題ありません。ループの再帰的な性質により、変数が正しく挿入されていません。ティア。

4

1 に答える 1