Hi all, I'm new here, please forgive me if I'm posting this wrong or in the wrong area.
I've been struggling with this a bit. I'm trying to sum the most recent consecutive months until a 0 is reached. Please see my have/want below.
HAVE:
Month N | Count | SUM |
---|---|---|
1 | 0 | |
2 | 1 | |
3 | 1 | |
4 | 0 | |
5 | 1 | |
6 | 0 | |
7 | 1 | |
8 | 1 | |
9 | 1 |
WANT;
Month N | Count | SUM |
---|---|---|
1 | 0 | 0 |
2 | 1 | 1 |
3 | 1 | 2 |
4 | 0 | 0 |
5 | 1 | 1 |
6 | 0 | 0 |
7 | 1 | 1 |
8 | 1 | 2 |
9 | 1 | 3 |
Thanks in advance!
Homework? Check out the sum statement.
data want;
set have;
if count=0 then sum=0;
else sum + count;
run;
PG
Alternatively with first.
data want;
set have;
by count notsorted;
if first.count then sum=count;
else sum+count;
run;
Thanks,
Jag
It's finally time to hack! Remember to visit the SAS Hacker's Hub regularly for news and updates.
Need to connect to databases in SAS Viya? SAS’ David Ghan shows you two methods – via SAS/ACCESS LIBNAME and SAS Data Connector SASLIBS – in this video.
Find more tutorials on the SAS Users YouTube channel.