%LETステートメントでローカルマクロ変数を作成しようとしています。その値は、複数のアンパサンドが解決する必要があるマクロ変数です。 SASは、ローカルマクロ変数の名前を割り当てる前に複数のアンパサンドを解決していません。SASは、%LETマクロ変数を二重アンパサンドマクロ変数で定義します。
%macro example;
%do i=1 %to %sysevalf(&max_n);
%let dg= &&max_&i..;
{stuff happens here}
%end;
%mend;
%example;
たとえば、& max_1です。コードの{ここで}起こる}部分で私が使用するAPPLEに解決します。しかし、SASは私に警告を与えています "警告:見かけ上のシンボリックリファレンスMAX_は解決していません。" DGマクロ変数は、& & max_1〜& & max_17を返しています。 & DGを呼び出します。この時点で& & max_1が返されますが、これはAPPLEに解決されますが、これは表示されないコードの構文では機能しません。
& DGとなるようにマクロ変数を作成する方法を考えてください。 APPLEが返されますか?
別の&を先頭に追加します。 – Reeza