Страницы: 1
RSS
DAX SUM Вычисление начального остатка периода
 
Доброго времени суток!
Имеются 3 смарт таблицы: покупатели, продажи и оплаты. На основе этих таблиц создана сводная таблица для получения оборотов (по продажам и оплатам) и остатка операций за период в разрезе покупателей, такой аналог ОСВ из 1С. Все ок, общие итоги по покупателям рассчитываются правильно, но построчные (помесячно) остатки рассчитываются не правильно. Скорее всего нужно в таблицу добавить остаток начальный и конечный остаток рассчитывать по формуле = начало + продано - оплачено. С этим и проблема. По логике, нужно определить начальный месяц в операциях, и для этого периода начальный остаток сделать равным 0, либо же определить первый месяц, и со сдвигом месяца -1, сделать расчет остатка конечного = продано - оплачено.
Я сегодня с DAX познакомился впервые и никак не могу докрутить (хотя сегодня впервые построил сводную таблицу из модели данных, а потом еще пытался сгруппировать обороты в одном периоде построчно)
 
Dimakgb, почитайте эту статью об остатках с помощью формул DAX.
Не столь важно что ты делаешь, важно как ты это делаешь! (Джимми Лансфорд)
 
Sergius, Спасибо! Почитал, добавил таблицу с начальными остатками в разрезе покупателей, реализовал, все ок. Но есть нюанс.
Если активировать временную шкалу, то дата начального остатка не попадает во временной срез и эти значения перестают использоваться в расчете, и соответственно сбиваются конечные остатки.
То есть логика должна быть следующая, если период в сводной таблице равен периоду начального остатка, то берется значение начального остатка, если ложь, то берется значение конечного остатка предыдущего периода.
Функцию IF я докручу, а как быть со значением предыдущего остатка?
Мера расчета конечного остатка
Код
Остаток конечный
=CALCULATE(
   (SUM('ОстаткиКлиенты'[Остаток  Нач]) + SUM('Активности'[Стоимость]) - SUM('Уплата'[Сумма]));
   FILTER( 
      ALLSELECTED('Календарь'[Date]);
      ISONORAFTER('Календарь'[Date]; MAX('Календарь'[Date]); DESC)
      )
   )
Изменено: Dimakgb - 13.11.2024 22:08:12
Страницы: 1
Наверх