Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
6 years ago
Solved

Measure for group average

I have a measure for calculationg average of number of days since last input. 

 

I want to have another measure showing group average after filtering specific project to compare project with the group. I used function ALL to ignore the project filter but it is diving me average for all groups instead of the one i want. 

 

Groupaverage daysdays group average
abc1010
def2020
ghi3030
 2020

 

measure = calculate([average], ALL(project[id]))

 

when selecting one project from group abc, I need the other measure to be showing 10 as group average for abc but its showing average for all groups - 20

 

i wanted to try groupby but as my average is calculated measure i didnt think it would be useful. 

 

how to show second average for group ? when i select one project i want to see the average for the group the product is in.

 

 

  • Hi Anonymous ,

     

    Try this:

    average = AVERAGE ( 'Table'[Days average] )
    divisional average = 
    AVERAGEX (
        'Table',
        CALCULATE (
            AVERAGE ( 'Table'[Days average] ),
            ALLEXCEPT ( 'Table', 'Table'[Group] )
        )
    )


    Best Regards
    Icey

     

    If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

6 Replies

  • Icey's avatar
    Icey
    Community Support

    Hi Anonymous ,

     

    Try this:

    average = AVERAGE ( 'Table'[Days average] )
    divisional average = 
    AVERAGEX (
        'Table',
        CALCULATE (
            AVERAGE ( 'Table'[Days average] ),
            ALLEXCEPT ( 'Table', 'Table'[Group] )
        )
    )


    Best Regards
    Icey

     

    If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

    • Anonymous's avatar
      Anonymous
      Not applicable

      superb !! thank you so much for this ! 

       

      would this work in a table as well ? I need a column in a table where for each row i want to see this group average (no not only when i select specific group).

  • Hi Anonymous ,

     

    could you include a sample version of your Power BI file?

    You can share it via DropBox, One Drive, Drive or any similar tool.

     

    Regards

     

    LC

  • Icey's avatar
    Icey
    Community Support

    Hi Anonymous ,

    You can use ALLSELECTED. And it would be great if you could provide some sample data.

     

    Best Regards,

    Icey

     

    If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

     

  • Anonymous's avatar
    Anonymous
    Not applicable

    I created this sample of data : 

     

    ProductGroupDays average
    aabc50
    babc60
    cabc80
    dabc100
    eabc500
    fabc100
    habc50
    iabc60
    jdef70
    kdef100
    ldef100
    mdef120
    ndef140
    odef150
    pdef160

     

    I want to have a measure showing average for product(s) and another one showing average for division. (i will have 2 cards next to each other for comparison)

     

    e.g. when i select project a it gives me : average 50, divisional average 125

     

    • smpa01's avatar
      smpa01
      Community Champion

      Anonymous  you can achieve this by following measures

       

      Average by group = CALCULATE(AVERAGE('Table 2'[Days average]),ALL('Table 2'[Product]))
      
      Average by Product = CALCULATE(AVERAGE('Table 2'[Days average]),ALL('Table 2'[Group]))