Forum Discussion
CONTAINS function - Boolean error
- 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" ) ) ) )
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"
)
)
)
)