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

Append extra characters after a macro variable in SAS?

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

这是我的宏,但现在不起作用,问题出在第三行 &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 解释为宏变量。

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

所以 &del_.30 会解析 &del_ 然后在它后面加上 30