在PROC SQL中创建数字范围的理想方法?

时间:2018-10-22 15:01:42

标签: sas proc-sql

我想创建一个年份列表。由于我只需要少数几个,所以我这样做:

create table work.year_range
(YEAR num);
insert into work.year_range
    values (2006) values (2007) values (2008) values (2009) values (2010) values (2011)
    values (2012) values (2013) values (2014) values (2015) values (2016) values (2017);

但这显然很难看。在PROC SQL中创建一系列数字的理想方法是什么?

1 个答案:

答案 0 :(得分:1)

您必须使用do循环,并且很难在proc sql中模拟相同的内容;

data year_range;
  do year= 2006 to 2017;
output;
end;
run;

执行proc sql的另一种粗略方法(不推荐)是使用未记录的单调函数,并使用具有11个以上记录的数据集,如下所示

 proc sql;
create tale work.year_range
select 2005 + monotonic() as year
from sashelp.class
where calculated year between 2006 and 2017;