Forum Discussion
DATESYTD not working on SWITCH with logical test based on time
I am encountering a problem with a DATESYTD on a time based SWITCH measure that I am writing.
Situation:
- I have a measure for my Actuals
- I have a measure for my Forecast
- I have a SWITCH measure that looks at actuals when the week is in the past (based on the WeekIndex_Nr), and at the forecast when the week is in the future
- I want to create a measure that calculates the YTD based on the SWITCH measure
Used measures:
Actuals = SUM( Fact_Sales[Quantity] )
Forecast = SUM( Fact_Forecast[Quantity] )
Switch ACT/FCST =
SWITCH( TRUE() ,
SELECTEDVALUE( Dim_Date[WeekIndex_Nr] ) >= 0 , [Forecast] , [Actuals]
)
YTD on Switch ACT/FCST =
CALCULATE(
[Switch ACT/FCST] ,
DATESYTD(Dim_Date[Date] )
)
Problem:
I use the DATESYTD measure to calculate the YTD value. Usually this always works, but when I apply it on the SWITCH as described above, the accumulated values are ONLY those of the Forecast, and not of the Actuals.
Result:
Can anyone explain why this is happening and how to solve it?
Thanks a lot!
TomBI , Try like
CALCULATE(
Sumx(values( Dim_Date[WeekIndex_Nr] ),[Switch ACT/FCST] ) ,
DATESYTD(Dim_Date[Date] )
)
2 Replies
- amitchandak
Super User
TomBI , Try like
CALCULATE(
Sumx(values( Dim_Date[WeekIndex_Nr] ),[Switch ACT/FCST] ) ,
DATESYTD(Dim_Date[Date] )
)- TomBIFrequent Visitor
amitchandak Great! Works perfectly. Can you explain why?