Страницы: 1
RSS
Power BI: наложение графика прошлого года на текущий
 
Здравствуйте!
Не могу сообразить, как решить задачу в Power BI:

Есть график, показывающий накопительный итог продаж в текущем периоде. В значениях - быстрая мера:

Нарастающий итог  =
CALCULATE(
   SUM('DataBase'[Сумма]),
   FILTER(
       ALLSELECTED('DataBase'[Data]),
       ISONORAFTER('DataBase'[Data], MAX('DataBase'[Data]), desc)
   )
)

Хочу наложить на тот же график данные прошлого года, чтобы визуально отслеживать разницу. То есть чтобы на дату 12.02.2024 на графике было две точки: результат на сегодня и на 12.02.2023 г.

Пытался сделать это с помощью меры
CALCULATE(
  [нарастающий итог],
  SAMEPERIODLASTYEAR('calendar'[Date])

- выводит результат на графике в прошлом периоде. А мне надо, чтобы графики накладывались в текущей дате.

Может быть, кто-то уже решал эту задачу?
 
zachard, приложите пример, если хотите получить быстрый и точный ответ.
Цитата
zachard написал:
ISONORAFTER('DataBase'[Data], MAX('DataBase'[Data]), desc)
это Вам CHAT-GPT что-ли подсказал так делать?
В визуальных элементах и мере накопительного итога используйте справочник календарь, а не даты из таблицы фактов.
Изменено: Vladimir Ch - 12.02.2024 13:25:32
 
Прикладываю пример.

Chat GPT, к сожалению или счастью, ни при чём. Это быстрая мера из самого power bi, "нарастающий итог" из раздела "итоги". При использовании в этой мере справочника календаря, а не дат из таблицы фактов - рассчитывает некорректно.
 
Мой вариант во вложении. Советы: удаляйте автоматическую иерархию в календаре (в примере, правда не удалял, оставил как есть) а так же, если есть справочники, то измерения в визуальных элементах используйте из справочников, а не из таблиц фактов.
Итоговые меры для накопительного итога в ВЫБРАННОМ периоде получились такими:
Код
сумма накопительно = 
var _firstDate = CALCULATE(MIN('Calendar'[Date]),ALLSELECTED())
var _maxDate = MAX('Calendar'[Date])
var _result = 
CALCULATE(
   SUM('DataBase'[Сумма]),
   FILTER(ALL('Calendar'),
      'Calendar'[Date] >= _firstDate && 'Calendar'[Date] <= _maxDate
   )
)
return
_result


Код
сумма прошл год = CALCULATE([сумма накопительно],DATEADD('Calendar'[Date],-1,YEAR))
 
Ох, спасибо большое! Всю голову сломал!
Страницы: 1
Наверх