Forum Discussion
Error in Calculate filter argument
Hello Team,
Today I have encountered strange issue that I can't understand.
I have an AAS model where I created a measure:
CALCULATE('Measures Table'[Spend],SELECTEDVALUE(Company[txt_country])='Supplier Country'[txt_country])
and it is working fine
Now I switched the model to SSAS where the model and the underlying dataset is exactly the same as in this AAS
Everything in this SSAS model is working the same as in AAS, except that measure which is throwing a error that "SELECTEDVALUE has been used in a True/False expression..."
I found out that when I apply this measure with FILTER function it is working fine:
CALCULATE('Measures Table'[Spend],FILTER('Supplier Country',SELECTEDVALUE(Company[txt_country])='Supplier Country'[txt_country]))
1. Any reason why is that differs between those, basically the same, 2 models?
2. I always thought that the second argument in CALCULATE function is the exact equvalent of FILTER function, so why do I need to actually put FILTER function so it could work here?
Best
https://docs.microsoft.com/en-us/dax/calculate-function-dax
A Boolean expression filter is an expression that evaluates to TRUE or FALSE. There are several rules that they must abide by:
- They can reference columns from a single table.
- They cannot reference measures.
- They cannot use a nested CALCULATE function.
Beginning with the September 2021 release of Power BI Desktop, the following also apply:
- They cannot use functions that scan or return a table unless they are passed as arguments to aggregation functions.
- They can contain an aggregation function that returns a scalar value. For example,DAXCopy
Total sales on the last selected date = CALCULATE ( SUM ( Sales[Sales Amount] ), 'Sales'[OrderDateKey] = MAX ( 'Sales'[OrderDateKey] ) )
That means
CALCULATE('Measures Table'[Spend],SELECTEDVALUE(Company[txt_country])='Supplier Country'[txt_country])
works fine because of the update.
SSAS have not get the update yet.
2 Replies
- vapid128Solution Specialist
https://docs.microsoft.com/en-us/dax/calculate-function-dax
A Boolean expression filter is an expression that evaluates to TRUE or FALSE. There are several rules that they must abide by:
- They can reference columns from a single table.
- They cannot reference measures.
- They cannot use a nested CALCULATE function.
Beginning with the September 2021 release of Power BI Desktop, the following also apply:
- They cannot use functions that scan or return a table unless they are passed as arguments to aggregation functions.
- They can contain an aggregation function that returns a scalar value. For example,DAXCopy
Total sales on the last selected date = CALCULATE ( SUM ( Sales[Sales Amount] ), 'Sales'[OrderDateKey] = MAX ( 'Sales'[OrderDateKey] ) )
That means
CALCULATE('Measures Table'[Spend],SELECTEDVALUE(Company[txt_country])='Supplier Country'[txt_country])
works fine because of the update.
SSAS have not get the update yet.
- AnonymousNot applicable
Okay, that make sense now.
Thank you!