Hello,
Is there a way to retain the sum of one row and use that sum as the starting point for a second row?
for example-
Have:
Month | Start | New | Cancelled | End |
Jan | 10 | 2 | -1 | |
Feb | 1 | -3 | ||
March | 4 | 0 |
Want:
Month | Start | New | Cancelled | End |
Jan | 10 | 2 | -1 | 11 |
Feb | 11 | 1 | -3 | 9 |
March | 9 | 4 | 0 | 13 |
Thank you!
data have;
infile cards truncover;
input Month $ Start New Cancelled End;
cards;
Jan 10 2 -1
Feb . 1 -3
March . 4 0
;
data want(drop=_end);
set have;
retain _end;
if _n_=1 then do; _end=sum(of start--cancelled);end=_end;end;
else do; start=_end;_end=sum(of start--cancelled);end=_end;end;
run;
data have;
infile cards truncover;
input Month $ Start New Cancelled End;
cards;
Jan 10 2 -1
Feb . 1 -3
March . 4 0
;
data want(drop=_end);
set have;
retain _end;
if _n_=1 then do; _end=sum(of start--cancelled);end=_end;end;
else do; start=_end;_end=sum(of start--cancelled);end=_end;end;
run;
worked perfectly! thank you for your help
SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.