Desktop productivity for business analysts and programmers

Sum according field values

Accepted Solution Solved
Reply
New Contributor
Posts: 2
Accepted Solution

Sum according field values

Hi all, hope you can help me.

 

I got a table with several columns and I want to make a sum based on each one without making a new column for each variable. (see attached table)

 

12,5%12,5%12,5%6,8%7,3%8,3%6,5% 
Illiteracyschool absenteeismschool backwardnessaqueduct_problemsSewerage_problemsFloorsWallsSum
   YES YESYES21,6%
 YESYESYESYES  39,1%
YES YESYES  YES38,3%

 

I want to get the sum of the row according to the weight assigned and the value of the field (e.g. in the first row we add aqueduct_problems, Floors and Walls getting 21.6%)

 

is there a way to do it?  many thanks!!


Accepted Solutions
Solution
‎11-07-2017 04:04 PM
Super User
Posts: 6,899

Re: Sum according field values

[ Edited ]
Posted in reply to antonioy2m

Only you know what those values are, but it's certainly possible to modify just one line of the program, something like:

 

if reasons{_n_} in ('YES' 'MAYBE') then ....

View solution in original post


All Replies
Super User
Posts: 6,899

Re: Sum according field values

Posted in reply to antonioy2m

One possible approach would use arrays.  Assuming that I'm spelling your variable names correctly:

 

data want;

set have;

array reasons {7} illiteracy school_absenteeism school_backwardness aqueduct_problems sewerage_problems floors walls;

array weights {7} _temporary_ (0.125 0.125 0.125 0.068 0.073 0.083 0.065);

sum=0;

do _n_=1 to 7;

   if reasons{_n_} = 'YES' then sum + weights{_n_};

end;

run;

 

I left SUM as a decimal fraction.  You might want to apply a format to that for printing purposes.

New Contributor
Posts: 2

Re: Sum according field values

Posted in reply to Astounding
Many thanks for your answer Astounding, i didn't put the entire table but in some cases i have to add to the sum other values diferent to yes, do you know other solutión? thanks!
Solution
‎11-07-2017 04:04 PM
Super User
Posts: 6,899

Re: Sum according field values

[ Edited ]
Posted in reply to antonioy2m

Only you know what those values are, but it's certainly possible to modify just one line of the program, something like:

 

if reasons{_n_} in ('YES' 'MAYBE') then ....

☑ This topic is solved.

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

Discussion stats
  • 3 replies
  • 180 views
  • 1 like
  • 2 in conversation