Текущий, прошлый, позапрошлый и еще несколько… Была ли у вас такая задача — на одной странице Power BI показать данные за какой-то год, а рядом вывести предыдущие? Уверен, что была.
Обычно, чтобы добавить в отчет прошлый год, используют DAX-формулы CALCULATE и DATEADD. Это удобное решение, но у него есть маленький недостаток – вместо года или периода на диаграмме будут отображаться названия мер – «текущий год», «прошлый год» и т.д. А пользователи просят в подписи на диаграмме указывать сами годы, иначе им непонятно.
Как в отчете Power BI показать сравнение текущего года с предыдущими?
Наc периодически спрашивают: можно ли на срезе выбрать год, чтобы в отчете отображались данные и за выбранный год, и за несколько предыдущих? И на диаграмме были подписи по годам.
Ответ: можно! Как именно — читайте дальше.
Чтобы вам было удобнее, приложили файл.
«Классическое» решение
предыдущий год = CALCULATE ( [показатель], DATEADD ( ' Календарь' [Date], -1, YEAR )) |
Решение с DAX-таблицей и мерой
Это решение позволит добавлять Год в область условных обозначений диаграмм, все просто: создаем таблицу и меру. Срез всегда будет фильтровать таблицу, из которой он добавлен. Поэтому нам потребуется формула VALUES и вычисляемая таблица, связанная с таблицей дат — Календарем.
Годы = VALUES ( ' Календарь' [Год] ) |
Чтобы показать в отчете данные за несколько лет с периодами в области условных обозначений или в заголовках таблиц, создаем специальную меру:
три года = VAR MaxYear = MAXX ( ALLSELECTED ( ' Календарь' [Год] ), [Год] )VAR TabYear = ALL ( ' Календарь' [Год] )VAR TabFilt = FILTER ( ' Годы' ,' Годы' [Год] >= MaxYear — 2 &&' Годы' [Год] <= MaxYear) RETURN CALCULATE ( SUM ( ' данные' [факт] ), TabFilt, TabYear ) |
Готово! Создаем диаграммы и графики, где в области условных обозначений будет Год.
А вам какой вариант больше нравится?