Hi,
I am trying to sum across variables, but only if a separate variable is greater than a certain value. Here's an example:
ID | day1 | day2 | day3 | dollar1 | dollar2 | dollar3 | magicday |
1 | 0 | 10 | 12 | 1 | 2 | 3 | 4 |
2 | 0 | 1 | 5 | 1 | 2 | 3 | 2 |
For any of the days (day1-day3) that are greater than the magicday, I want to sum their corresponding dollar values. For example, for person 1, since their magicday is 4, I want to add the dollar
values from day2 and day3 and get a total sum of $5, and ignore the dollars from day 1. For person 2, I want only the dollar value from day3, $3.
I actually have over 400 days to deal with, so doing this manually isn't really an option.
Thanks so much!
Laurie
Use a do loop and arrays.
data want;
set have;
array day(100) day1-day100;
array dollar(100) dolalr1-dollar100;
dollar_total=0;
do i=1 to 100;
if day(i)>magicday then dollar_total+dollar(i);
end;
run;
Use a do loop and arrays.
data want;
set have;
array day(100) day1-day100;
array dollar(100) dolalr1-dollar100;
dollar_total=0;
do i=1 to 100;
if day(i)>magicday then dollar_total+dollar(i);
end;
run;
Perfect, thanks!
Don't miss out on SAS Innovate - Register now for the FREE Livestream!
Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.
Learn the difference between classical and Bayesian statistical approaches and see a few PROC examples to perform Bayesian analysis in this video.
Find more tutorials on the SAS Users YouTube channel.