这个SAS代码是什么意思?
1. %if (&variable ne ) then statement here
2. %if (%variable1 eq ) or (%variable2 ne ) then statement here
我期待运营商NE或EQ之后的变量或值。但是这些代码没有它。
谢谢!
答案 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 )
是否会解析为真。