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 September 15. Request your voucher.

Reply
Diego-mx
Advocate I
Advocate I

Boolean calculations and filters

I've seen boolean calculations using filters like this: 

trues_count = CALCULATE( COUNT([Element A]),
    FILTER(Table, [Element A] = "True"))

Since I'm using more filters I need more control on those counts, which could resemble otther languages that treat TRUE as 1 and FALSE as 0. 
For example,

A5_proportion = CALCULATE( AVERAGE(Table[indicator A] <= 5), 
    Table[Filter B], 
    TREATAS( VALUES(Calendar[date] ), Table[event_date])
)


This isn't possible because AVERAGE requires a column.  
Does anyone know a good way to achieve this?  Thanks. 

2 REPLIES 2
OwenAuger
Super User
Super User

@Diego-mx

If you want to average an expression evaluated over each row of a table, you can use the iterator AVERAGEX.

Also, in DAX, booleans are not automatically cast as numbers, but you can multiply by 1 or add 0 to achieve the same effect.

 

An expression which I think achieves what you want, in place of AVERAGE(Table[indicator A] <= 5), is

AVERAGEX ( Table, ( Table[indicator A] <= 5 ) + 0 )

Regards,

Owen


Owen Auger
Did I answer your question? Mark my post as a solution!
Blog
LinkedIn

 

Thanks for this hint.  
I shall mark this as a solution. 

Still, I'm missing how to combine regular filters with virtual ones from TREATAS. 

I'll post a new message. 

Cheers. 

 

Helpful resources

Announcements
August Power BI Update Carousel

Power BI Monthly Update - August 2025

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

August 2025 community update carousel

Fabric Community Update - August 2025

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