Earn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It challenge.
I'm trying to create a dynamic measure that can be configured using a drop-down. This way someone can choose the period over which to sum sales. I already got this working with Month / MQT / MAT, by using the following measure:
# Sales = CALCULATE( [Total Sales], DATESINPERIOD( 'Date'[Date]; MAX('Date'[Date]); SELECTEDVALUE(Period[offset]); MONTH ) )
IF( condition = true; DATESYTD(....); DATESINPERIOD(...); )
Solved! Go to Solution.
@Anonymous wrote:
Unfortunataly it seems I can't use an IF statement like this, since that will result in an error "A function 'FILTER' has been used in a True/False expression that is used as a table filter expression". Do I need to do this differently?
Both DATESYTD and DATESINPERIOD return tables and unfortunately you can't return a table value from the IF function. So you will need to put your calculate inside the IF so that it is returning a scalar value.
eg.
# Sales = IF( condition = true; CALCULATE( [Total Sales], DATESYTD( ... ) ); CALCULATE( [Total Sales], DATESINPERIOD( ... ) ); )
@Anonymous wrote:
Unfortunataly it seems I can't use an IF statement like this, since that will result in an error "A function 'FILTER' has been used in a True/False expression that is used as a table filter expression". Do I need to do this differently?
Both DATESYTD and DATESINPERIOD return tables and unfortunately you can't return a table value from the IF function. So you will need to put your calculate inside the IF so that it is returning a scalar value.
eg.
# Sales = IF( condition = true; CALCULATE( [Total Sales], DATESYTD( ... ) ); CALCULATE( [Total Sales], DATESINPERIOD( ... ) ); )
User | Count |
---|---|
103 | |
91 | |
79 | |
72 | |
68 |
User | Count |
---|---|
108 | |
96 | |
95 | |
73 | |
71 |