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

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

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
Twitter
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
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

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