在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;
我在宏中尝试了这个并没有用。
非常感激。
答案 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
允许您在宏代码中执行数据步骤功能。