Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Enhance your career with this limited time 50% discount on Fabric and Power BI exams. Ends August 31st. Request your voucher.

Reply
Anonymous
Not applicable

Calculate average across all categories without showing empty categories

Hi all,

 

I am using a visual to show average times per category (bars) as well as an overall average across ALL categories (dotted line). Please see screenshot below.

 

Screenshot 2020-10-28 154656.jpg

I am using a Measure to calculate the overall average (dotted line):

 

Overall Avg = CALCULATE(SUM('Table1'[Work Time])/COUNT('Table1'[Number]),ALLSELECTED('Table1'))

 

 

The calculation works fine. However, the problem is that the ALLSELECTED() function always returns also empty categories (see Category D). Especially when there are more empty categories, this looks really ugly.

 

I already tried using ALL(), ALLEXCEPT(), etc. instead of ALLSELECTED() without success. Also, "Show items with no data" is disabled.

 

Any ideas how to fix that? Thanks a million!

4 REPLIES 4
AntrikshSharma
Super User
Super User

@Anonymous  Create a separate measure for total work time:

Total Work Time = SUM ( 'Table1'[Work Time] )

The try this:

Overall Avg =
CALCULATE (
    DIVIDE ( [Total Work Time], COUNT ( 'Table1'[Number] ) ),
    FILTER ( VALUES ( 'Table'[Category] ), [Total Work Time] <> 0 )
)

 Here is a visual from my dummy data:

1.PNG2.PNG

Anonymous
Not applicable

@AntrikshSharma Thank you for your help.

 

If I use your approach, I get the average value per category instead of an overall average across the categories (see below). The empty category is not visible now!

 

Screenshot 2020-10-29 095725.jpg

 

Not sure if this is important, but the value of my cateogries is not actually 0. Instead, the "empty" categories are hidden due to some applied filters.

amitchandak
Super User
Super User

@Anonymous , Try if this can work

Overall Avg = CALCULATE(SUM('Table1'[Work Time])/COUNT('Table1'[Number]),filter(ALLSELECTED('Table1'), not(isblank(Table[category]))))

Share with Power BI Enthusiasts: Full Power BI Video (20 Hours) YouTube
Microsoft Fabric Series 60+ Videos YouTube
Microsoft Fabric Hindi End to End YouTube
Anonymous
Not applicable

@amitchandak Thank you for your fast reply.

 

Unfortunately, this doesn't work as well. Same result.

 

In addition, I want to use this Measure for different "Category" columns. Hence, it should be as generic as possible and I intended not to use the "Category" column itself in the Measure. It might be possible workaround of course... 🙂

Helpful resources

Announcements
July PBI25 Carousel

Power BI Monthly Update - July 2025

Check out the July 2025 Power BI update to learn about new features.

Join our Fabric User Panel

Join our Fabric User Panel

This is your chance to engage directly with the engineering team behind Fabric and Power BI. Share your experiences and shape the future.

June 2025 community update carousel

Fabric Community Update - June 2025

Find out what's new and trending in the Fabric community.