在SAS中使用ODS发送ALERT

时间:2015-03-13 15:19:32

标签: sas

我正在尝试仅在宏变量值不为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;

1 个答案:

答案 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来选择是否运行某些代码。

在您的情况下,您可以将第一个块包装在类似于此的宏中,同时将第二个块留在外面。