我想使用“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)?很困惑......非常感谢。
答案 0 :(得分:3)
如果您希望SQL将多个值放入宏变量中,那么您需要包含SEPARATED BY
子句。
select id into :x separated by ' ' from try01;
然后您可以使用此列表,例如IN
运营商呼叫。
proc print data=have ;
where id in (&x);
run;