SAS宏错误180-322:语句无效或使用顺序不正确

SAS宏错误180-322:语句无效或使用顺序不正确,sas,sas-macro,let,Sas,Sas Macro,Let,我正试图在我公司的SAS服务器上使用SAS宏语言。剩下的(SAS基本)代码可以正常工作,但宏不能。即使是简单的%let也会导致错误(这是程序中的第一行): 我已检查了“工具”下的系统选项,“宏”选项设置为1 有人知道如何让宏正常工作吗 谢谢:)我会通过运行proc options来检查宏选项: proc options option=macro; run; 在SAS调用期间需要设置宏选项。因此,您可能需要检查SAS会话使用的配置文件。在服务器SAS中,可能意味着与SAS管理员交谈,因为不同逻辑

我正试图在我公司的SAS服务器上使用SAS宏语言。剩下的(SAS基本)代码可以正常工作,但宏不能。即使是简单的%let也会导致错误(这是程序中的第一行):

我已检查了“工具”下的系统选项,“宏”选项设置为1

有人知道如何让宏正常工作吗


谢谢:)

我会通过运行proc options来检查宏选项:

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.

这句话有没有代码?SAS的哪个版本?嗯,日志上说这是程序的第5789行。:)如果你开始一个新的会话,你能重复这个问题吗?您是否尝试批量提交程序?尝试添加选项宏;也许可以运行proc options以确认宏选项处于启用状态。看起来这必须在SAS调用期间设置。(即使是讨厌宏的人通常也不会关闭它,所以如果有人故意关闭它,我会感到惊讶)。哇,我不知道你可以关闭宏语言。谢谢,我忘了有一个proc选项。下面是我得到的信息:“13062 proc options value options options options options options options options options options options options=macro;13063 run;SAS(r)专有软件发行版9.4 TS1M2选项值信息SAS OPTIONE OPTIONE macro value:macro Scope:Default选项值设置方式:出厂。
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.