Forum Discussion

cghanta's avatar
cghanta
Helper I
1 year ago
Solved

Average Calculation

I have a table UPS and a column Age

 

The Power BI has a slicer based on column location

I want to find Average Age from the column Age, ignoring the slicer and display the measure in the report to dispaly the average as a card, irrespective of the slection in the slicer.

 

The following syntax is working:

CALCULATE(AVERAGE(UPS[Age for Avg]), ALL(UPS))
 
But, I want to exclude 0 entries in the Age column for the Average calculation, what syntax should I be using?
The following syntax is not working:
CALCULATE(AVERAGE(UPS[Age Avg]), ALL(UPS), FILTER(UPS, UPS[Age for Dual UPS Avg] <> 0))
  • Hi cghanta 

    Can you please try the below DAX.

    CALCULATE(
    AVERAGE(UPS[Age for Avg]),
    ALL(UPS[Location]), 
    UPS[Age for Avg] <> 0
    )


     




    If this answers your question, kindly mark it as the solution.

  • Hi cghanta 

     

    You also can try below measure:

     

    CALCULATE(AVERAGE(UPS[Age Avg]),FILTER(ALL(UPS), UPS[Age for Dual UPS Avg] <> 0))

     

     

    Did I answer your question? If yes, pls mark my post as a solution and appreciate your Kudos !

     

    Thank you~

6 Replies

  • Hi cghanta 

    Can you please try the below DAX.

    CALCULATE(
    AVERAGE(UPS[Age for Avg]),
    ALL(UPS[Location]), 
    UPS[Age for Avg] <> 0
    )


     




    If this answers your question, kindly mark it as the solution.

    • cghanta's avatar
      cghanta
      Helper I

      Both the solutions from xifeng_L and mdaatifraza5556 worked, Thank you both.
      I am not sure how to select both the replies as accepted solution

    • cghanta's avatar
      cghanta
      Helper I

      Hi mdaatifraza5556,

       

      I have 2 columns on a the table UPS as follows

      Location1stServiceAge2ndServiceAge
      town130
      town252
      town360
      town400
      town521


      How can I calculate (measure) the average age of both columns, ignoring 0's and slicer.  For the above the answer should be 19/6 = 3.17, if all zeros, give 0

      Thank you in advance

    • cghanta's avatar
      cghanta
      Helper I

      Hi mdaatifraza5556,

       

      I have 2 columns on a the table UPS as follows

      Location1stServiceAge2ndServiceAge
      town130
      town252
      town360
      town400
      town521


      How can I calculate (measure) the average age of both columns, ignoring 0's and slicer.  For the above the answer should be 19/6 = 3.17, if all zeros, give 0

      Thank you in advance

  • Hi cghanta 

     

    You also can try below measure:

     

    CALCULATE(AVERAGE(UPS[Age Avg]),FILTER(ALL(UPS), UPS[Age for Dual UPS Avg] <> 0))

     

     

    Did I answer your question? If yes, pls mark my post as a solution and appreciate your Kudos !

     

    Thank you~