【发布时间】:2015-05-11 00:05:56
【问题描述】:
我不知道为什么我无法在 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 */
但是,我希望在我的代码开头分配宏 - 并且还希望了解为什么以前不起作用。
【问题讨论】:
-
如果您只是想在代码开头分配宏变量,您可以简单地从
rsubmit; <assignments> endrsubmit;块开始,而无需将它们从本地传递到远程。否则,如果您需要在两个系统上都使用它们,那么请选择 Adam 的答案。
标签: sas