proc sql문에 조건문과 inner join을 하시면 됩니다.
data a;
input id date1 :yymmdd10. dose;
format date1 yymmdd10. date2 yymmdd10.;
date2 = date1 + 90;
cards;
1 20010927 10
1 20011003 20
1 20020204 100
2 20010314 10
2 20010426 50
2 20010509 25
2 20010603 10
;
run;
proc sql;
create table a as
select a.id, a.date1, a.dose
, sum(b.dose) as total
from have a
inner join have b
on a.id = b.id
and b.date1 between a.date1 and a.date1+90
group by a.id,a.date1,a.dose
order by id,date1
;
quit;
proc print;
run;
[결과]
... View more