SAS中文论坛

标题: 怎样删除一个数据集中某类相同变量值不足12个的数据 [打印本页]

作者: shiyiming    时间: 2008-11-18 15:23
标题: 怎样删除一个数据集中某类相同变量值不足12个的数据
假设我有一个数据集,如多只基金的月行情数据,已根据code和date进行排序,想删除数据不足一年的基金,该如何进行。如:
code                             date
1                20011231
1                20020131
1                        20020228
1                20020331
1                20020430
1                20020531
1                20020630
1                20020731
1                20020830
1                20020930
1                20021031
1                20021129
1                20021231
1                20030129
22                            20020430
22                20020531
22                20020630
22                20020731
22                20020830
要把所有code为22的数据都删除该怎么做???
作者: shiyiming    时间: 2008-11-19 10:06
标题: Re: 怎样删除一个数据集中某类相同变量值不足12个的数据
data test;
input code date yymmdd8.;
cards;
1 20011231
1 20020131
1 20020228
1 20020331
1 20020430
1 20020531
1 20020630
1 20020731
1 20020830
1 20020930
1 20021031
1 20021129
1 20021231
1 20030129
22 20020430
22 20020531
22 20020630
22 20020731
22 20020830
;
run;
proc sql;
create table result as
select *,count(code) as count  from test
group by code
having count>12;
quit;
作者: shiyiming    时间: 2008-11-19 17:28
标题: Re: 怎样删除一个数据集中某类相同变量值不足12个的数据
要的是删除数据不足一年的基金
data a1;
input code date yymmdd8.;
cards;
1 20011231
1 20020131
1 20020228
1 20020331
1 20020430
1 20020531
1 20020630
1 20020731
1 20020830
1 20020930
1 20021031
1 20021129
1 20021231
1 20030129
22 20020430
22 20020531
22 20020630
22 20020731
22 20020830
;
run;
data a2;
set a1;
year_data = year(date);
month_data = month(date);
run;
proc sql;
create table result(keep=code date) as
select *,count(month_data) as count from a2
group by code,year_data
having count>=12;
quit;




欢迎光临 SAS中文论坛 (https://mysas.net/forum/) Powered by Discuz! X3.2