标题: 菜鸟求教一个累计减法的问题 [打印本页] 作者: shiyiming 时间: 2009-10-12 23:28 标题: 菜鸟求教一个累计减法的问题 有两个数据集 a ,b
data a;
input id $ time1 monyy7. own_money;
format time1 monyy7.;
datalines;
001 JAN2007 1000
002 JAN2007 1500
003 FEB2007 2000
004 FEB2007 1500
;
data b;
input id $ time2 monyy7. pay_money;
format time2 monyy7.;
datalines;
001 FEB2007 200
001 APR2007 200
002 MAR2007 100
003 FEB2007 400
003 JUN2007 200
004 OCT2007 300
;
可以通过
proc sql;
create table d as
select coalesce(a.id, b.id) as ID, own_money-sum_money as sub
from a
full join
(select id, sum(pay_money) as sum_money
from b
group by id)
on a.id=b.id;
quit;
生成2007的累计差额:
Obs ID sub
1 001 600
2 002 1400
3 003 1400
4 004 1200
proc sql;
create table j as
select a.id, time1,time2,own_money,0-pay_money as pay_money
from a, b
where a.id=b.id;
quit;
proc print data=j;
run;
proc sort data=j;
by id time2;
run;
data k (keep=id time2 sum);
set j (drop=time1);
by id time2;
if first.id then sum=own_money;
sum+pay_money;