2013-03-14 82 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