The ultimate Fabric, Power BI, SQL, and AI community-led learning event. Save €200 with code FABCOMM.
Get registeredEnhance your career with this limited time 50% discount on Fabric and Power BI exams. Ends September 15. Request your voucher.
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 |
---|---|
65 | |
62 | |
60 | |
53 | |
30 |
User | Count |
---|---|
181 | |
83 | |
68 | |
49 | |
46 |