LYTD dax Time Intelligence

У меня есть :

Quantity Sold LY = CALCULATE([Total Quantity Sold], DATEADD(Dates[Date], -1, YEAR))

и я хочу рассчитать количество, проданное в прошлом году на сегодняшний день:

Quantity Sold LYTD = CALCULATE([Quanity Sold LY], DATESYTD(Dates[Date]))

НО, когда я объединяю эти два и пишу как следует, результаты совершенно разные:

total quantity sold last 1 year =  
VAR L1Y=  CALCULATE([Total Quantity Sold], DATEADD(Dates[Date], -1, YEAR)) 
return 

CALCULATE(L1Y, DATESYTD(Dates[Date]))

кто-нибудь может объяснить почему?


person Elahe.Meydani    schedule 11.09.2018    source источник


Ответы (1)


Когда вы создаете переменную L1Y, она сохраняется как константа.

Предположим, L1Y оценивается как 152. Тогда ваш последний расчет будет эквивалентен

CALCULATE(152, DATESYTD(Dates[Date]))

Я думаю, вы хотите сделать что-то вроде этого:

CALCULATE([Total Quantity Sold], DATEADD(DATESYTD(Dates[Date]), -1, YEAR))
person Alexis Olson    schedule 11.09.2018
comment
Спасибо, Алексис, я совсем забыл, что после создания переменной она создается как константа !!!! :( - person Elahe.Meydani; 12.09.2018