检查SAS DIS参数是否为空

时间:2015-06-02 17:21:12

标签: sas sas-macro sas-dis

在SAS DIS中,我在作业上设置了日期参数。我尝试使用提供的下拉菜单设置默认值,但每次出现错误

  

语法错误,需要以下其中一项:!,!!,&,*,**,+, - ,/,<,< =,<>,=,>,> <,> =,AND,EQ,GE,GT,IN,LE,LT,MAX,MIN,NE,NG,NL,NOTIN,OR,^ =,|,||,〜=。

因此我决定在继续之前尝试检查参数是否为null,但是我的各种尝试都没有成功。有没有办法用用户编写的代码?像

这样的东西
if(&date_param = .) then do;
date = today();
else do;
date = &date_param;
end;

我在宏中尝试了这个并没有用。

非常感激。

1 个答案:

答案 0 :(得分:2)

假设这类似于标准的SAS宏变量,有几件事情。

首先,null参数实际上是空白的,而不是句点(对于数值数据集变量而言)。在数据步骤中,您可以这样检查:

if "&date_param." = " " then do;

其次,根据上下文,您可能需要在宏语法中执行此操作。如果您要设置其他参数,则可能需要执行以下操作:

%if &date_param. eq  %then %do;
  %let date=%sysfunc(today());
%end;
%else %do;
  %let date = &date_param.;
%end;

%sysfunc允许您在宏代码中执行数据步骤功能。