其问题说明为: 要将有相同日期、ID和行动的值全部加总起来,所以说在相同odate、id和bs的观测值其count皆相同(皆为其个别eq相加总),但若没有同odate、id和bs的观测值的话(话句话说,当天只有本身一笔时),就不作相加的动作,故为missing。(当然一开始是没有count1 count 这一项的,因为这是我最后想求得的结果) ,再次请求各位前辈的帮助!
资料如下:
sn odate eq ep etime bs id count1 count
1101 20090518 2000 33.2 93320 B 1 55000
1101 20090518 2000 33.25 91910 S 1 4000 61000
1101 20090518 2000 33.2 93705 S 1 4000 61000
1101 20090518 1000 33.25 120434 S 2 1000
1101 20090522 B 1 110000
1101 20090522 5000 33.2 122911 B 1 25000 110000
1101 20090522 2000 33.25 123001 B 1 25000 110000
1101 20090522 3000 33.2 123051 B 1 25000 110000
1101 20090522 5000 32.8 91643 B 1 25000 110000
1101 20090522 5000 32.85 92553 B 1 25000 110000
1101 20090522 5000 32.8 93553 B 1 25000 110000
1101 20090522 15000 33.4 121002 S 1 20000 115000
1101 20090522 5000 33.2 131346 S 1 20000 115000
1102 20090518 2000 37.3 111959 S 1 61000
1102 20090518 5000 36.5 90230 S 6 20000
1103 20090526 3000 18.35 101321 B 9 9000
1103 20090526 3000 18.8 120346 S 9 3000
1103 20091002 B 13 20000
1103 20091002 20000 16.85 131048 B 13 20000
代码如下:
proc
sql;
create
table out2 as
select
a.*, b.count
from book5 a left join
(select odate,bir,bs,count(bir) as count, sum(eq) as count
from book5
group by odate, bir, bs
having count gt 1
) b
on a.odate=b.odate and a.bir=b.bir and a.bs=b.bs
order
by odate, etime,sn;
quit;



雷达卡



京公网安备 11010802022788号







