我正在尝试仅在宏变量值不为0时发送警报并且始终在同一脚本中发送另一个警报。
我只想在变量值不为0的情况下发送它。
filename myfile1 email To=&ToAddress
subject="ALERT for &tday." TYPE="text/html";
ODS LISTING CLOSE;
ODS HTML BODY=myfile1 style=BarrettsBlue;
OPTIONS NOCENTER LINESIZE=256;
Proc print data=Counts_6days noobs label;
title "monitoring by Score Date";
run;
ODS html close;
ods listing;
我想一直发送这封信。
filename myfile email To=&ToAddress
subject="monitoring for &tday." CONTENT_TYPE="text/html";
ODS LISTING CLOSE;
ODS HTML BODY=myfile style=BarrettsBlue;
OPTIONS NOCENTER LINESIZE=256;
Proc print data=COUNTS noobs label;
title "monitoring by Score Date";
run;
ODS HTML CLOSE;
ODS LISTING;
答案 0 :(得分:3)
在SAS条件宏语句中需要包装在宏中。例如:
%macro example(arg);
%if &arg. ~= 0 %then %do;
/* Your conditional code here */
%end;
%mend example;
%let var = 0;
%example(&var.)
此代码创建一个名为%example
的{{3}},它需要一个参数。使用%example()
调用宏,此时它将评估宏内的代码。 macro块允许您根据条件的计算结果是true还是false来选择是否运行某些代码。
在您的情况下,您可以将第一个块包装在类似于此的宏中,同时将第二个块留在外面。