SAS:阅读逻辑运算符

时间:2016-11-06 08:24:13

标签: sas

这个SAS代码是什么意思?

1. %if (&variable ne ) then statement here
2. %if (%variable1 eq ) or (%variable2 ne ) then statement here

我期待运营商NE或EQ之后的变量或值。但是这些代码没有它。

谢谢!

1 个答案:

答案 0 :(得分:0)

这是宏定义中宏和数据步逻辑的混合。

%if (&variable ne ) then statement here

如果将其写为

,这将更有意义
%if (&variable ne ) %then statement here

这会测试宏变量&variable是否为空,如果是,则会跳过statement here

第二个是执行一个名为%variable1的宏,如果宏解析为空值,则跳过statement here。究竟发生了什么取决于宏的定义方式。例如你可以把它定义为:

%macro variable;
 text here
%mend;

会导致statement here触发,因为它会测试(text here ne )是否会解析为真。