SAS proc sql里面的%宏使用现有的数据集

时间:2015-08-05 00:05:23

标签: sql macros sas proc

我有以下宏:

%macro AgregateSummAll(SAll,SNatl);
proc sql;
    create table &SNatl as
    select 
      Month, 
      Processing, 
      InsuranceRng,
      sum(Transactions) as Transactions, 
      sum(TotalRev) as TotalRev format dollar16.2
    from &SAll
    group by 
      Month, 
      Processing, 
      InsuranceRng;
quit;
%mend; * AgregateSumAll;

程序内部我使用现有的表SumAllReg,通过宏但SAS没有看到它。 %AgregateSummAll(安培; SumAllReg,SumNatlReg);

获取以下错误消息:

  

&安培; SumAllReg            -           22           200警告:未解析表观符号引用SUMALLREG。

1 个答案:

答案 0 :(得分:0)

您写的>>> function([1, 2, 3, 6]) 'true' >>> function([1, 2, 3, 7]) 'false' >>> function([1, 2, 3, 4, 6]) 'true' 是一个表,而不是包含表名的宏变量,那么为什么要将SumAllReg放在&中?只需将表的名称传递给您的宏:

%AgregateSummAll(&SumAllReg,SumNatlReg);