Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and a 50 percent discount on exams.
Get startedEarn 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 |
---|---|
95 | |
86 | |
78 | |
72 | |
67 |
User | Count |
---|---|
110 | |
104 | |
84 | |
65 | |
63 |