我想使用此宏來運行代碼的不同部分。當我自己選擇並運行%if語句時,它們可以工作。但是,當我嘗試運行%begin宏時,SAS EG立即告訴我程序已完成且沒有錯誤。但是,我的代碼沒有運行。這導致我相信我有一個語法錯誤。有誰知道發生了什麼事?從SAS宏調用宏
%macro begin();
%if &run_NLI_LTC. = "Y" %then %do;
%MDI(1,NonLI_LTC);
%compare(1);
%end;
%if &run_LCE. = "Y" %then %do;
%MDI(2,LCE);
%compare(2);
%end;
%mend begin;
%begin;
感謝您的幫助!
你不能單獨運行%IF語句,它在開放代碼中不起作用。你必須在宏定義中嵌入宏邏輯如%IF並調用宏。 – Tom
宏變量有什麼值?如果兩個條件均爲假,您的宏將不會執行任何操作。 – Tom