【发布时间】:2013-12-06 15:55:04
【问题描述】:
我正在尝试为我的宏参数设置默认变量。我在一个网站上找到了这个例子:
%macro myprint (var1, var2=t);
PROC PRINT data = &var1..&var2;
Run;
%mend myprint;
/* Macro Call */
%myprint (store,)
但是当我尝试运行它时,我得到 ERROR: More positional parameters found than defined.
我使用的是 SAS 9.2。我有什么不同的事情要做吗?
【问题讨论】:
-
你的宏调用需要两个参数。
%myprint(var1=store,var2=t);我还建议在你的宏定义后添加一个分号并删除你的 var2 声明。%macro myprint(var1,var2);另外,如果 var2 总是 't' 那么为什么要把它作为参数? -
@scott,这只是一个默认值 - 当
var2未提供给宏调用时提供(这是允许的)。
标签: sas