sasデータセットt_final_Summaryからレポートを生成する必要があります。
procレポートまたはprocテーブルを使用すると、列
が値を持たない行は表示されません。そこで、Expiring
という名前の新しいデータセットをレポートと同じ列で作成しました。マクロ変数に渡すパラメータをマクロに渡すことができません
t_final_Summaryには、 - Sub_LOB、Group、Mat_Month、およびComm_Inclという名前の列があります。 マクロの値をそのテーブルから別のテーブル
という名前のExpiringに渡そうとしていますが、
のMat_monthのSub_LOB、Group、Sum_of_Comm_Inclという名前の列があります。私は次のコードを書いた:
%macro mat (sub,grp,mth,MCRO);
proc sql no print;
select case
when Sum(Comm_incl)=. then 0
else sum(Comm_Incl)
end format=16.2
into :&MCRO.
from t_final_Summary
where Sub_LOB= "&sub."
and Group="&grp."
and Mat_Month="&mth.";
quit;
%mend mat;
%mat(CRE Commercial, Carolina Group, _Expired, goid);
/*Now I want to check my macro variable goid using %put*/
%put &goid;
その後、ログは常にマクロgoidが解決されていないと伝えます。マクロの中に
というエラーがありますか? 私は理解できませんでした。誰も私を助けることができますか?
あなたはPRELOADFMTを試してみましたか? – Reeza
マクロ変数スコープ - マクロの外側に変数のダイが存在しません。間違いなく、この質問の両方の点で重複しています。 – Reeza
[マクロ内にマクロ変数を作成する方法は?](http://stackoverflow.com/questions/38361696/how-to-create-a-macro-variable-within-a-macro) – Reeza