我的SAS宏下面没有工作---这个片段没有返回任何值,因为where语句不起作用。有人有主意吗?我尝试添加%str,但这也没有用。
%macro refreshments(beverage_type=);
proc sql;
select
*
where drink_type = '&beverage_type.'
;
quit;
%mend
%refreshments(Sprite);
感谢。
答案 0 :(得分:4)
宏变量无法用单引号解析。您还缺少FROM子句,并且宏参数被提供为位置(而不是名称=值对)。请尝试以下方法:
%macro refreshments(beverage_type=);
proc sql;
select *
from YOURTABLE
where drink_type = "&beverage_type";
%mend;
%refreshments(beverage_type=Sprite);