在同一步骤中使用和创建 SAS 宏

问题描述 投票:0回答:1

下面的宏(into :&count 引起了问题)。尽管它没有显示错误,但稍后当我调用 salescount 时,很明显该宏未正确分配“表观符号引用 salescount 未解析”。有没有办法修复宏,这样我就不必每次需要时都回去写出完整的 proc sql 条目?

%macro counts (variable1, count, dataname);

proc sql;
select count(distinct &variable1) into :&count trimmed
from &dataname;
quit;
%mend counts;

%counts(userid, salescount, customers)

sas macros proc-sql
1个回答
0
投票

当宏变量未全局声明时,在宏内部创建宏变量将创建局部宏变量。您需要首先将其声明为全局才能在宏之外使用它:

%macro counts (variable1, count, dataname);
    %global &count;

    proc sql;
        select count(distinct &variable1) into :&count trimmed
        from &dataname;
    quit;
%mend counts;
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.