在 PROC SQL 中创建一系列数字的理想方法?
Ideomatic way to create a range of numbers in 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 中创建数字范围的理想方法是什么?
你必须使用 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;
我想创建一个年份列表。因为我只需要一把,所以我这样做:
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 中创建数字范围的理想方法是什么?
你必须使用 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;