Forum Discussion
cristianj
3 years agoHelper IV
What am i doing wrong
Hello i have this messure, the ideea is to show value from 7 days back, if i select a date, from that date , if nothing is selected from today - 7 so this is tha data which is working for the today...
- 3 years ago
Hi cristianj, your calculation looks to be overcomplicated... Is there a spicific reason why you wrote it in this way? You can achieve the similar result much simplier:
Sales 7 days before = VAR _CurrentDate = SELECTEDVALUE( CalendarTable[Date] ) //we need to remember the currently selected date, because we0ll overwrite it with Calculate() later RETURN CALCULATE( SUM( Sales[Sales] ), CalendarTable[Date] = _CurrentDate - 7 )Let me know if it works or if I misunderstood your question.
cristianj
3 years agoHelper IV
Thank you i will change and try,
i write it in such way, because if is nothing selected, it has to use the today as a starting point, but i try and let you know
Sergii24
3 years agoSuper User
I see, here is the updated code (read comment for more details on it):
Sales 7 days before =
VAR _CurrentDate =
SELECTEDVALUE(
CalendarTable[Date],
MAXX( ALL( CalendarTable[Date] ),
TODAY()
)
)
//we need to remember the currently selected date, because we'll overwrite it with Calculate() later. SELECTEDVALUE() return only 1 value, so if multiple dates are selected, we need to return an alternative result - the second argument of the formula. In this case I used Today() to obtain today's date, but you can replace it with any other date, for instance absolute MAX of CalendarTable. Simply replace the code of variable from the above with the following:
/*
VAR _CurrentDate =
SELECTEDVALUE(
CalendarTable[Date],
MAXX(
ALL( CalendarTable[Date] ),
CalendarTable[Date]
)
)
*/
RETURN
CALCULATE(
SUM( Sales[Sales] ),
CalendarTable[Date] = _CurrentDate - 7
)