2013-03-14 114 views
1

喜不工作,我有一個關於在SAS追加稱道的問題,SAS追加宏觀

我試圖

PROC APPEND BASE=SASUSER.mitsumjan12lag1 
      DATA=SASUSER.mitsumjan12lag2; 
RUN; 

和它的工作。但是當我在下面的宏中嘗試同樣的事情時,它不起作用。

%macro combineData(month=,part,datamonth=,datapart=); 
    PROC APPEND BASE=SASUSER.mitsum&month.lag&part 
       DATA=SASUSER.mitsum&datamonth.lag&datapart; 
    RUN; 
%mend combineData; 
%combineData(month=jan12,part=1,datamonth=jan12,datapart=2); 

任何人都可以幫助我嗎?謝謝。

+0

它看起來還好我。它以什麼方式不起作用?如果您收到SAS錯誤消息,請將其添加到您的問題中。這可能是你需要從你的宏變量引用中去掉空白。 – BellevueBob 2013-03-14 00:37:26

回答

3

這令我的第一件事情是,你在

%macro combineData(month=,part,datamonth=,datapart=); 

位置參數(那些沒有=)失蹤part=必須在關鍵字參數(那些=)之前付諸表決。 只要改變part參數爲關鍵字參數(後添加=)是這樣的:

%macro combineData(month=,part=,datamonth=,datapart=); 

或把它放在第一位,是這樣的:

%macro combineData(part, month=,datamonth=,datapart=); 
+0

謝謝。我想下一次,我會更仔細地檢查代碼 – user1652926 2013-03-14 16:29:45