下面的宏(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)
当宏变量未全局声明时,在宏内部创建宏变量将创建局部宏变量。您需要首先将其声明为全局才能在宏之外使用它:
%macro counts (variable1, count, dataname);
%global &count;
proc sql;
select count(distinct &variable1) into :&count trimmed
from &dataname;
quit;
%mend counts;