我有一个简单的宏,我传入一个参数,但也想附加到宏上。但是,当我尝试添加其他文本时,它不会识别原始宏变量。我试图首先将宏变量转换为字符串,附加额外的文本,然后取消引用它,但无法找到合适的连接函数来使用。
这是我的宏,现在没有工作,问题是第三行&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
解释为宏变量。
答案 0 :(得分:2)
宏变量名以&
开头,以.
结尾,或者第一个字符非法变为宏变量名(A-Z,0-9,_)。
因此&del_.30
会解析&del_
,然后将30
放在其后。