我想使用此宏来运行代码的不同部分。当我自己选择并运行%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