在 rsubmit 中引用 SAS 中的宏
Referencing macro in SAS within a rsubmit
我不明白为什么我无法在 rsubmit
调用中调用宏。
比如我有代码:
%let var= year;
%put &var; /* this works fine and prints "year" to the log */
rsubmit;
proc sql;
%put &var; /* this does not work */
第二个实例抛出警告WARNING: Apparent symbolic reference VAR not resolved.
为什么我不能在 rsubmit 代码中引用宏,我该如何调整以允许这样做?
作为参考,如果我在 rsubmit 中移动宏的创建,它工作正常 - 例如:
rsubmit;
proc sql;
%let var= year;
%put &var; /* prints "year" as expected */
但是,我希望在我的代码开头分配宏 - 并且还希望了解为什么以前不起作用。
这是因为您是在本地而不是在远程系统上定义它,它们是分开保存的。如果您想在本地 运行 时远程 create/update 值,反之亦然,您可以分别使用 %syslput 和 %sysrput 语句。
http://support.sas.com/documentation/cdl/en/mcrolref/61885/HTML/default/viewer.htm#a001221974.htm
我不明白为什么我无法在 rsubmit
调用中调用宏。
比如我有代码:
%let var= year;
%put &var; /* this works fine and prints "year" to the log */
rsubmit;
proc sql;
%put &var; /* this does not work */
第二个实例抛出警告WARNING: Apparent symbolic reference VAR not resolved.
为什么我不能在 rsubmit 代码中引用宏,我该如何调整以允许这样做?
作为参考,如果我在 rsubmit 中移动宏的创建,它工作正常 - 例如:
rsubmit;
proc sql;
%let var= year;
%put &var; /* prints "year" as expected */
但是,我希望在我的代码开头分配宏 - 并且还希望了解为什么以前不起作用。
这是因为您是在本地而不是在远程系统上定义它,它们是分开保存的。如果您想在本地 运行 时远程 create/update 值,反之亦然,您可以分别使用 %syslput 和 %sysrput 语句。 http://support.sas.com/documentation/cdl/en/mcrolref/61885/HTML/default/viewer.htm#a001221974.htm