在我的代码中,我有几个宏.宏A是主宏.宏A然后调用宏B,宏B又调用宏C.
在SAS中,我是否必须按向后顺序定义它们?换句话说,我必须首先定义宏C,然后定义宏B,然后定义宏A吗?或者它是否重要,因为SAS在实际命中运行宏之前读取所有代码?就此而言,我可以发出命令来运行宏作为我的代码中的第一个语句,然后在命令下面定义宏吗?
谢谢!
首先,您必须在调用宏之前定义它。
其次,只要您事先加载了宏,那么在哪里调用宏并不重要。
详细说明您的问题:自动调用库是您的朋友。如果 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)