Help using Base SAS procedures

Summing across variables above the value of a separate variable

Accepted Solution Solved
Reply
Contributor
Posts: 25
Accepted Solution

Summing across variables above the value of a separate variable

Hi,

I am trying to sum across variables, but only if a separate variable is greater than a certain value. Here's an example:

IDday1day2day3dollar1dollar2dollar3magicday
1010121234
20151232

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


Accepted Solutions
Solution
‎05-16-2013 03:11 PM
Super User
Posts: 17,737

Re: Summing across variables above the value of a separate variable

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;

View solution in original post


All Replies
Solution
‎05-16-2013 03:11 PM
Super User
Posts: 17,737

Re: Summing across variables above the value of a separate variable

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;

Contributor
Posts: 25

Re: Summing across variables above the value of a separate variable

Perfect, thanks!

☑ This topic is SOLVED.

Need further help from the community? Please ask a new question.

Discussion stats
  • 2 replies
  • 132 views
  • 0 likes
  • 2 in conversation