Как создать меру DAX для поиска значений в предыдущем месяце, не используя поле даты? - PullRequest
0 голосов
/ 29 июня 2018

В настоящее время я пытаюсь создать отчет, показывающий, как клиенты ведут себя с течением времени, но вместо того, чтобы делать это по дате, я делаю это по возрасту клиентов (количество месяцев, прошедшее с тех пор, как они впервые стали клиентами). Таким образом, использование поля даты на самом деле не вариант, учитывая, что один клиент мог начать работу в декабре 2016 года, а другой - в июне 2017 года.

То, что я пытаюсь найти, - это изменение количества приобретенных единиц за месяц. Если бы я использовал поле даты, я знаю, что я мог бы использовать

[Всего за предыдущий месяц] = РАСЧЕТ (СУММА ([Всего единиц]), ПРЕДВАРИТЕЛЬНЫЙ МЕСЯЦ ([FiscalDate]))

Я также думал об использовании EARLIER (), чтобы выяснить это, но я не думаю, что это сработает в этом случае, так как для этого требуется контекст строки, который я не уверен, что смогу создать. Ниже приведена упрощенная версия таблицы, которую я буду использовать.

ID    Date     Age Units
219  6/1/2017   0   10
219  7/1/2017   1   5
219  8/1/2017   2   4
219  9/1/2017   3   12
342  12/1/2016  0   500
342  1/1/2017   1   280
342  2/1/2017   2   325
342  3/1/2017   3   200
342  4/1/2017   4   250
342  5/1/2017   5   255

1 Ответ

0 голосов
/ 29 июня 2018

Как насчет этого?

PrevTotal = 
    VAR CurrAge = SELECTEDVALUE(Table3[Age])
    RETURN CALCULATE(SUM(Table3[Units]), ALL(Table3[Date]), Table3[Age] = CurrAge - 1)

Переменная CurrAge дает оценку Age, вычисленную в текущем контексте фильтра. Затем вы подключаете его к фильтру в строке CALCULATE.

...