繁体   English   中英

%macro中使用现有数据集的SAS proc sql

[英]SAS proc sql inside %macro that use existing data set

我有以下宏:

%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尚未解析。

您写的SumAllReg是一个表,而不是包含表名的宏变量,那么为什么将&放在%AgregateSummAll(&SumAllReg,SumNatlReg); 只需将表名传递给您的宏即可:

%AgregateSummAll(SumAllReg,SumNatlReg);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM