我下面有一个不起作用的SAS宏--此代码段不返回任何值,因为where语句不起作用。有人有主意吗?我尝试添加%str,但是那也不起作用。
%macro refreshments(beverage_type=);
proc sql;
select
*
where drink_type = '&beverage_type.'
;
quit;
%mend
%refreshments(Sprite);
谢谢。
最佳答案
宏变量不会以单引号引起来。您还缺少FROM子句,并且将宏参数作为位置提供(而不是名称=值对)。请尝试以下操作:
%macro refreshments(beverage_type=);
proc sql;
select *
from YOURTABLE
where drink_type = "&beverage_type";
%mend;
%refreshments(beverage_type=Sprite);