将sas proc sql select的范围动态化为宏创建

tzcvj98z  于 2021-08-09  发布在  Java
关注(0)|答案(1)|浏览(465)

我想把多个观测值放入自己的宏变量中。我将通过使用select into:obs1-:obs4来实现这一点,但是,由于观察次数可能不同,我希望动态化范围,我的代码如下所示:

proc sql;
    create table segments as select distinct substr(name,1,6) as segment from dictionary.columns
    where libname = 'WORK' and memname = 'ALL_CCFS' and name ne 'MONTH';
run;

proc sql noprint;
    select count(*) into: count from segments;
run;

proc sql noprint;
    select segment into :segment_1 - :segment_&count. from dictionary.columns;
run;

然而,这似乎不起作用。。。有什么建议吗?谢谢您!

fruv7luv

fruv7luv1#

保留最后一个值为空/空白,sas将自动创建它们
将其设置为一个大得离谱的数字,sas将只使用所需的内容
使用一个数据步骤来创建它,您可以动态地增加您的数字(未显示)。

proc sql noprint;
select segment into :segment_1 - 
from dictionary.columns;
run;

proc sql noprint;
select segment into :segment_1 - :segment_999
from dictionary.columns;
run;

相关问题