【问题标题】:SAS macro using a list of variable as parameter使用变量列表作为参数的 SAS 宏
【发布时间】:2019-09-03 16:36:02
【问题描述】:

我想将变量列表传递给宏以进行进一步分析,但只有最后一个通过。

%macro try(varlist=%str(gender race agegroup));
prroc freq data=test;
table &varlist;
run;
%mend;

结果:

proc freq data=test;
  table agegroup;
run;

不如预期:

proc freq data=test;
 table gender race agegroup;
run;

【问题讨论】:

  • 对我来说似乎一切都很好,只需将 prroc 更改为 proc - 但这不是问题,因为 SAS 会处理它。你是如何执行宏的?我希望是 %try;
  • 同意,我觉得不错。你不需要使用 %str。显示您的宏调用,并打开带有 mprint 选项的日志。
  • 谢谢大家的回复!实际上,我最初的问题是通过省略组来简化的。处理频率;表 (&var) * 组;跑步;在 &var 周围添加 () 解决了这个问题。再次感谢!

标签: macros sas


【解决方案1】:

我同意其他人的观点,你输入 PRROC 而不是 PROC...

【讨论】:

  • 谢谢,PPROC 打错了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-11-01
相关资源
最近更新 更多