标题: [求助]数据查找输出问题 [打印本页] 作者: shiyiming 时间: 2009-10-23 12:12 标题: [求助]数据查找输出问题 我有这样一个dataset:
Name Maturity Upfront Bid
[code:w6vnonlo]data aa;
input name$ maturity upfront bid;
datalines;
A 3 10 500
A 3 20 500
A 3 . 980
A 5 . 300
A 5 . 350
A 5 . 360
B 3 23 500
B 3 21 500
B 5 25 500
B 5 . 500
;
[/code:w6vnonlo]
这里同一个name同一个maturity的为同一个产品。同一个产品中有的含upfront,有的不含。我想从中找出同一个产品中既有upfront也含无upfront的,即上面数据要输出成:
Name Maturity Upfront Bid
A 3 10 500
A 3 20 500
A 3 . 980
B 5 25 500
B 5 . 950
数据量很大,几十万个,请问用SAS怎样完成这样一个查找输出的工作?
初学者,请牛人们帮助,谢谢!作者: shiyiming 时间: 2009-10-23 13:17 标题: Re: [求助]数据查找输出问题 [code:2gy2dxzb]proc sort data=aa out=temp;
by name maturity;
run;
data temp(drop=flag:);
do _n_=1 by 1 until(last.maturity);
set temp;
by name maturity;
if upfront=. then flag1=1;
else flag2=1;
end;
if flag1 and flag2 then flag=1;
do _n_=1 to _n_;
set temp;
by name maturity;
if flag=1 then output;
end;
run;[/code:2gy2dxzb]作者: shiyiming 时间: 2009-10-23 14:02 标题: Re: [求助]数据查找输出问题 谢谢啊,it works,不过我对于中间的过程不太理解。
第一个循环是指无upfront的时候flag1=1 flag2=., 而有upfront的时候flag2=1 flag1=. 是这样吗?那什么时候能flag1 and flag2啊?第二个循环要怎么作用?