Advance your Data & AI career with 50 days of live learning, dataviz contests, hands-on challenges, study groups & certifications and more!
Get registeredJoin 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 following formula works, but I'm trying to better the approach a little since strings around it can change dynamically at the source, but the integer code pertaining to a category (233333, 455555 in the below example) will not.
Current formula :
Solved! Go to Solution.
You cannot put a true/false statements under CALCULATE. There are very specific conditions that can be written like this but they really are not true/false statements since the engine expands them automatically into tables. Because - let me reiterate it - only tables can be filters under CALCULATE. So, instead of CONTAINS in there you should turn it into a filter on a table and put the table instead. But I think you should use a different function here, CONTAINSSTRING, like so:
CALCULATE(
[Total Time],
FILTER(
VALUES( 'Fact Table'[Category] ),
OR(
CONTAINSSTRING(
'Fact Table'[Category],
"310251"
),
CONTAINSSTRING(
'Fact Table'[Category],
"320251"
)
)
)
)
Thank you. Can you explain your logic behind using VALUES function here?
Since I was thinking along the lines of :
You cannot put a true/false statements under CALCULATE. There are very specific conditions that can be written like this but they really are not true/false statements since the engine expands them automatically into tables. Because - let me reiterate it - only tables can be filters under CALCULATE. So, instead of CONTAINS in there you should turn it into a filter on a table and put the table instead. But I think you should use a different function here, CONTAINSSTRING, like so:
CALCULATE(
[Total Time],
FILTER(
VALUES( 'Fact Table'[Category] ),
OR(
CONTAINSSTRING(
'Fact Table'[Category],
"310251"
),
CONTAINSSTRING(
'Fact Table'[Category],
"320251"
)
)
)
)
| User | Count |
|---|---|
| 8 | |
| 6 | |
| 3 | |
| 3 | |
| 3 |