SAS:从另一个宏调用一个宏...宏定义的顺序

JT.*_*JT. 6 sas sas-macro

在我的代码中,我有几个宏.宏A是主宏.宏A然后调用宏B,宏B又调用宏C.

在SAS中,我是否必须按向后顺序定义它们?换句话说,我必须首先定义宏C,然后定义宏B,然后定义宏A吗?或者它是否重要,因为SAS在实际命中运行宏之前读取所有代码?就此而言,我可以发出命令来运行宏作为我的代码中的第一个语句,然后在命令下面定义宏吗?

谢谢!

AFH*_*ood 3

首先,您必须在调用宏之前定义它。

其次,只要您事先加载了宏,那么在哪里调用宏并不重要。

详细说明您的问题:自动调用库是您的朋友。如果 SAS 管理员不允许您将宏放入自动调用库中,您可以像这样附加自动调用:

filename mymacros 'c:\mysas'; 
/*this defines the directory you have stored your macros*/

options sasautos=(sasautos mymacros) mautosource; 
Run Code Online (Sandbox Code Playgroud)