У меня проблема, когда мне нужен столбец, показывающий разницу между месяцами, но только для другого местоположения. У меня есть пример ниже, где есть три места с записями на разные даты. Я вручную ввел различия.
Обычно это будет просто оператор if if (местоположение == то же самое), затем n1-n2.
кто-нибудь знает, как это сделать в dax или в редакторе запросов.
Date Location numbers difference
07/02/2019 berlin 58047 0.00
27/03/2019 berlin 81086 23039.00
30/03/2019 berlin 21400 -59686.00
31/03/2019 berlin 77289 55889.00
01/01/2019 london 51101 0.00
01/02/2019 london 27815 -23286.00
10/03/2019 london 62659 34844.00
14/03/2019 london 49617 -13042.00
22/03/2019 london 53744 4127.00
24/04/2019 london 50337 -3407.00
22/01/2019 Paris 74002 0.00
02/02/2019 Paris 76931 2929.00
13/03/2019 Paris 62430 -14501.00
16/03/2019 paris 76002 13572.00
21/03/2019 paris 71528 -4474.00
26/04/2019 Paris 12577 -58951.00
Спасибо
@PratikBhavsar я добавил данные в виде фрагмента кода, не знаю другого способа добавить их здесь.
Спасибо, пожалуйста, обратитесь к моему ответу.
Вам просто нужно отфильтровать таблицу по текущему местоположению и найти первое значение 1, упорядочить по дате по убыванию, вычисляемый столбец должен быть:
Difference =
VAR CurrentLocation = test[ Location]
VAR CurrentDate = test[Date]
VAR CurrentNumber = test[ numbers]
VAR LastValue =
SUMX(
TOPN(
1,
FILTER (
ALL(test),
test[ Location] = CurrentLocation &&
test[Date] < CurrentDate
),
test[Date], DESC
),
test[ numbers]
)
VAR Difference = CurrentNumber - LastValue
RETURN
IF(
ISBLANK(LastValue),
0,
Difference
)
Надеюсь это поможет.
Можете ли вы поделиться данными в текстовом формате? Это будет очень полезно.