Forum Discussion

ellevy's avatar
ellevy
Helper I
5 years ago
Solved

weight average

Hello

i have a table of the following stracture

 

ID  | Q1

W   |  1

Z   |  2

T   |  2

X   |  4

 

i want to calculate to weight avarage of those who answerd Q1 (the can answer numbers between 1 to 5)

for the above example the calculation should be (1*1+2*2+4*1) / (1+2+2+4)  = 1  ( i Bold the weights. the weights are actuly the number the ID has answerd) .

in excel i can do this using sumproduct  , but i get trouble with powerbi for this...

i also have more then 10 coulmns of Questions . is there easy way for doing this weight avarage measure or should i write measure for each Question?

thanks !

  • Anonymous's avatar
    Anonymous
    5 years ago

    Hi ellevy,

    It sounds like you want to apply multiple aggregates to your expression.
    Maybe you can try to add a variable with summarize function to apply the first level aggregate and use the iterator function to do the second summary of these results.

    Measure Totals, The Final Word 

    If you confused about the coding formula, please share some dummy data to test.

    How to Get Your Question Answered Quickly

    Regards,

    Xiaoxin Sheng

3 Replies

  • ellevy , This sample does noes represent a case of weighted Average.

    This is also as good as

    sum(Table[q1])/sum(Table[Q1])

     

     

    If you want to multiple to column in a row your can do in sumx

     

    sumx(Table, [Q1] *[Q2])

     

     

    • ellevy's avatar
      ellevy
      Helper I

      Thanks, i used a variation of  - sumx(Table, [Q1] *count(ID) ) / SUM (ID) which is good for my case. the weights are the numbers in each Q coulmn (Q1,Q2...) , the numbers i wish to weight are the "count(ID) "

      • Anonymous's avatar
        Anonymous
        Not applicable

        Hi ellevy,

        It sounds like you want to apply multiple aggregates to your expression.
        Maybe you can try to add a variable with summarize function to apply the first level aggregate and use the iterator function to do the second summary of these results.

        Measure Totals, The Final Word 

        If you confused about the coding formula, please share some dummy data to test.

        How to Get Your Question Answered Quickly

        Regards,

        Xiaoxin Sheng