BookmarkSubscribeRSS Feed
heleenw
Obsidian | Level 7

Hi all,

 

 

I am struggling with making weighted averages shown.

I have 3 parameters - EAD (a number), LGD (a number) and PD (a series of percentages). These are in a sas-dataset of which the output has been verified and is known to be correct.

 

Needed is, for each of the 3, their averages produced but not normal averages; but weighted avg ; weighted by exposure total (EAD-total).

It takes a grouping sum to sort it out.

Can anyone explain to me how this works?

I found out how to do; made 1 example calculation using proc means + keyword weight.

But stakeholders requested to see it done manually by use of the querybuilders which are graphically available in SAS EnterpriseGuide rather than by code.

And I have been staring at the problem for a while but I cannot seem to get it done with graphic user-interface SAS E.G. querybuilders, so. Does anyone have a code and example data for me? I'm on SAS E.G. v8.

 

 

Thanks & best regards,

Heleen

1 REPLY 1
Kurt_Bremser
Super User

See an example how you work with weighted averages:

data have;
input group value;
datalines;
1 3
1 5
2 6
2 8
2 10
;

proc sql;
create table weighted as
  select group, mean(value) as value, count(*) as weight
  from have
  group by group
;
select mean(value) as want1
from have;
select sum(value*weight) / sum(weight) as want2
from weighted;
quit;

hackathon24-white-horiz.png

The 2025 SAS Hackathon has begun!

It's finally time to hack! Remember to visit the SAS Hacker's Hub regularly for news and updates.

Latest Updates

How to Concatenate Values

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.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 1 reply
  • 523 views
  • 0 likes
  • 2 in conversation