2016-12-02 48 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

完美。謝謝。 –