简单的SAS选择

时间:2016-11-25 18:17:23

标签: sql sas sas-macro

我想使用“select into”来创建SAS中所有ID的列表。

/* my state table try01 */   
data try01;  
input id  state $;  
cards;  
1108 va  
1102 dc  
1101 md  
1105 on  
;  

run;

/* select into */   
proc sql noprint;   
select id into: x from try01;   
quit;

%put &x;

我的问题是为什么日志显示宏x只是一个值(1108) 列表(1108,1102,1101,1105)?很困惑......非常感谢。

1 个答案:

答案 0 :(得分:3)

如果您希望SQL将多个值放入宏变量中,那么您需要包含SEPARATED BY子句。

select id into :x separated by ' ' from try01;  

然后您可以使用此列表,例如IN运营商呼叫。

proc print data=have ;
   where id in (&x);
run;