data have;
input year sex $ area $ status incidence prevalence;
cards;
2000 F ON 0 5 200
2001 F ON 0 6 300
2002 F ON 0 5 350
2003 F ON 0 5 201
2004 F ON 0 4 222
2005 F ON 0 2 333
;
proc sql noprint;
create table want1 as
select catx('/',min(year),max(year)) as year_,
sex,
area,
status,
sum(incidence) as sum_incidence1,
sum(prevalence) as sum_prevalence1
from have
where year in (2000:2002);
create table want2 as
select catx('/',min(year),max(year)) as year_,
sex,
area,
status,
sum(incidence) as sum_incidence2,
sum(prevalence) as sum_prevalence2
from have
where year in (2003:2005);
quit;
data tmp;
set want1 (rename = (sum_incidence1 = incidence sum_prevalence1 = prevalence year_ = year))
want2 (rename = (sum_incidence2 = incidence sum_prevalence2 = prevalence year_ = year));
run;
data want;
set tmp;
by year notsorted;
if last.year;
run;
... View more