Forum Discussion
bmk
3 years agoHelper II
CONTAINS function - Boolean error
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...
- 3 years ago
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" ) ) ) )
bmk
3 years agoHelper II
Thank you. Can you explain your logic behind using VALUES function here?
Since I was thinking along the lines of :
CALCULATE(
[Total Time],
CONTAINSSTRING(Fact Table[Category],"233333") || CONTAINSSTRING(Fact Table[Category],"455555")
)
[Total Time],
CONTAINSSTRING(Fact Table[Category],"233333") || CONTAINSSTRING(Fact Table[Category],"455555")
)