繁体   English   中英

SAS PROC SQL SELECT INTO宏创建的范围

[英]Dynamize range of SAS PROC SQL SELECT INTO macro creation

我想将多个观察结果放入一个自己的宏变量中。 我会通过使用 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;

但是,这似乎不起作用......有什么建议吗? 谢谢!

  • 将最后一个值留空/空白,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;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM