Join us at FabCon Atlanta from March 16 - 20, 2026, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.
Register now!The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now! Learn more
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.
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
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.
Check out the November 2025 Power BI update to learn about new features.
Advance your Data & AI career with 50 days of live learning, contests, hands-on challenges, study groups & certifications and more!
| User | Count |
|---|---|
| 57 | |
| 43 | |
| 41 | |
| 22 | |
| 17 |
| User | Count |
|---|---|
| 183 | |
| 114 | |
| 93 | |
| 62 | |
| 45 |