【问题标题】:Can i use macro in the data step in sas?我可以在 sas 的数据步骤中使用宏吗?
【发布时间】:2021-09-20 16:26:49
【问题描述】:

我尝试在数据步骤中使用宏来排除不符合条件的行,但它不起作用。这是我的代码

%macro bbb(a);
data grade&a.;
set grade&a.;
if ID='schoolgrade&g.score1' then output;
run;
%mend;
%match(4)

所以,我不能在 if 语句中使用宏?我还可以做些什么? 谢谢!

【问题讨论】:

  • 这能回答你的问题吗? Why won't my macro variable resolve?
  • 另外 - 下一次,请包括错误或任何告诉你“这不起作用”的内容 - 否则并不总是能够说出你的问题是什么!

标签: sas sas-macro


【解决方案1】:

宏处理器将忽略以单引号字符为界的字符串。请改用双引号字符。

还有宏变量G的来源是什么?或者你的意思是引用宏变量A,它是定义给宏的参数?

所以这段代码

if ID="schoolgrade&a.score1" then output;

将找到 ID 值等于“schoolgrade4score1”的观察。

【讨论】:

  • 双引号有效!就这么简单..非常感谢!!!
猜你喜欢
  • 2019-06-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-08-23
  • 1970-01-01
相关资源
最近更新 更多