标题: 关于first, last数据的提取 [打印本页] 作者: shiyiming 时间: 2010-2-5 00:08 标题: 关于first, last数据的提取 我的数据集大概如下:
com date trade
A 20060201 .
A 20060203 5
A 20070508 .
B 20030208 2
B 20030605 .
B 20040702 6
B 20050703 8
我想输出每个com第一个trade发生的时间,如:
com firsttrade lasttrade
A 20060203 20060203
B 20030208 20050703
请问有什么简单的办法可以实现么?
谢谢!作者: shiyiming 时间: 2010-2-5 05:15 标题: Re: 关于first, last数据的提取 [code:377786k8]data a;
input com $ date yymmdd8. trade;
format date yymmdd10.;
cards;
A 20060201 .
A 20060203 5
A 20070508 .
B 20030208 2
B 20030605 .
B 20040702 6
B 20050703 8
;
proc sort; by com date; run;
data b;
set a(where = (^missing(trade)));
by com;
retain firstTrade;
if first.com then firstTrade = date;
if last.com then lastTrade = date;
if last.com;
format firstTrade lastTrade yymmdd10.;
drop date trade;
run;