2016-12-02 108 views
1

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

这里是我的宏和什么是现在不工作,问题是在第三行&del_30。编译器试图将del32作为宏来解释,而不是由del32自身来解释。

%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宏变量为好。

回答

2

宏变量名称以&并用.结束,或第一个字符非法为处于宏变量名称(A-Z,数字0-9,_)。

因此,&del_.30将解决&del_,然后把它30后。

+0

完美。谢谢。 –