在SAS中的宏变量后追加额外的字符?

时间:2016-12-02 19:55:45

标签: sas sas-macro

我有一个简单的宏,我传入一个参数,但也想附加到宏上。但是,当我尝试添加其他文本时,它不会识别原始宏变量。我试图首先将宏变量转换为字符串,附加额外的文本,然后取消引用它,但无法找到合适的连接函数来使用。

这是我的宏,现在没有工作,问题是第三行&del_30。编译器试图将& del_30解释为宏,而不是将& del_解释为。

%macro plot_better_same_worse(title_, del_);
proc Sgplot data=ALL_TP_NORM_TBL;
SERIES X = asofdt Y = &del_30 /
MARKERS LINEATTRS = (THICKNESS = 2);

run;
%mend plot_better_same_worse;

我也尝试过这样做:&&del_&30但SAS尝试将&30解释为宏变量。

1 个答案:

答案 0 :(得分:2)

宏变量名以&开头,以.结尾,或者第一个字符非法变为宏变量名(A-Z,0-9,_)。

因此&del_.30会解析&del_,然后将30放在其后。