- data varn;
- input code date1 date2 varn;
- informat date1 date2 yymmdd10.;
- format date1 date2 yymmdd10.;
- cards;
- 1 1998/03/22 1999/04/09 66
- 1 1998/06/21 1998/07/19 1
- 1 1998/09/01 1999/03/01 2
- 1 1999/03/08 2001/01/01 9
- 1 1999/05/01 2000/06/01 8
- 2 1996/03/02 1998/08/01 1
- 2 1998/09/03 1999/04/07 8
- 2 1998/10/01 1999/03/04 3
- ;
- run;
- proc sql;
- create table f as select a.code,date1,date2,date3,date4,varn,varn1
- from varn as a,varn(rename=(date1=date3 date2=date4 varn=varn1)) as b
- where a.code = b.code;
- quit;
- proc sql;
- create table f1 as select code,date1,sum(varn1) as varn from f
- where date1 < date4 & date1 >= date3
- group by code,date1;
- quit;
- data final;
- merge varn f1;
- by code date1;
- run;