Платформа позволяет вычислять показатели со смещением на N дней, недель, месяцев, кварталов или лет. Это позволяет сравнивать показатели за любые интересующие периоды с любым необходимым смещением.
В нашем примере мы рассмотрим сравнение данных с гранулярностью год и смещением назад на один год, а также вычислим динамику продаж в процентах. Для этого мы сделаем следующее:
Создадим меру, которая вычисляет объем продаж: Продажи = SUM(factonlinesales[salesamount])
Вычислим продажи за прошлый год с помощью функции DATEADD:
Продажи за прошлый год =
CALCULATE (
SUM ( factonlinesales[salesamount] ),
FILTER (
ALL ( dimdate ),
AND (
'dimdate'[datekey] >= MINX ( dimdate, DATEADD ( 'dimdate'[datekey], -1, YEAR ) ),
'dimdate'[datekey]
<= MAXX ( 'dimdate', DATEADD ( 'dimdate'[datekey], -1, YEAR ) )
)
)
)
где
MINX ( dimdate, DATEADD ( 'dimdate'datekey, -1, YEAR ) ) вычисляет минимальную дату, сдвинутую на один год назад;
MAXX ( dimdate, DATEADD ( 'dimdate'datekey, -1, YEAR ) ) вычисляет максимальную дату, сдвинутую на один год назад;
функция CALCULATE суммирует значения salesamount из таблицы factonlinesales, но только для тех строк, которые соответствуют датам, отфильтрованным на предыдущий год. Таким образом, формула вычисляет сумму продаж за прошлый год, используя текущий контекст дат и сдвигая его на один год назад.
Для сравнения: В Power BI аналогичные вычисления можно произвести следующим образом:
Продажи за прошлый год =
CALCULATE (
SUM ( factonlinesales[salesamount] ),
DATEADD ( 'MyDate'[Date], -1, YEAR )
)
Вычислим динамику продаж с использованием вложенных мер:
Динамика в процентах =
DIVIDE (
factonlinesales[Продажи за прошлый год],
SUM ( factonlinesales[salesamount] )
) * 100
где сумма продаж за прошлый год делится на общую сумму продаж за текущий период и полученный результат умножается на 100. Таким образом, формула позволяет понять разницу в процентах между продажами текущего и прошлого годов.