我正在尝试在我公司的SAS服务器上使用SAS宏语言。其余的(SAS-base)代码工作正常,但宏没有。即使是简单的%let也会导致错误(这是程序中的第一行):
5789 %let pgm = XXX ;
-
180
ERROR 180-322: Statement is not valid or it is used out of proper order
我检查了工具下的系统选项,'macro'选项设置为1.
有人知道如何让宏正常工作吗?
谢谢:)
答案 0 :(得分:2)
我会通过运行proc选项检查宏选项:
proc options option=macro;
run;
需要在SAS调用期间设置宏选项。因此,您可能需要检查SAS会话使用的配置文件。在服务器SAS中,可能意味着与SAS管理员交谈,因为可能存在大量用于不同逻辑服务器的配置文件....
通过在调用期间指定-nomacro,我能够在PC SAS中复制结果。我认识很多讨厌宏语的人,但从来没有这么多他们真的把它关掉了。关闭宏语言后的日志是:
1 proc options option=macro;
2 run;
SAS (r) Proprietary Software Release 9.3 TS1M2
NOMACRO Do not allow use of SAS macro facility
3
4 %let x=1;
-
180
ERROR 180-322: Statement is not valid or it is used out of proper order.