Коллеги, отКЛИКнитесь на чужое горе. Проблема. Есть две таблицы -Продажи и Остатки.
И там и там
товары - product_id
склады - unit_id
Дата - МесяцГод (гранулированность времени - 1 месяц)
Задача - сопоставлять продажи за разные периоды с последними остатками.
При выборе фильтром Дата нескольких последовательных месяцев нужно получить
значение продаж за выбранный период и сравнить с остатками на максимальный (последний) выбранный месяц.
С продажами нет проблем. Проблемы с последними остатками.
Формула для вычисления суммы остатков
=Sum({<МесяцГод={"$(=MonthName(Max({1}NumbOfDays)))"} >}cost_amount_total)
работает правильно. При манипулировании фильтром Дата всегда возвращает стоимость
остатков за последний выбранный месяц.
С формулой для подсчета позиций на остатке попал в засаду и сильно ударился об нее головой.
Первоначально формула была аналогична выше приведенной
=Count({<МесяцГод={"$(=MonthName(Max({1}NumbOfDays)))"} >}Distinct product_id_amount)
Работала как надо . Проблема возникла, когда нужно было посчитать позиции с ненулевыми остатками.
Добавил условие
=Count({<МесяцГод={"$(=MonthName(Max({1}NumbOfDays)))"}, product_id_amount={"=Sum(amount_final)>0"} >}Distinct product_id_amount) (3)
И обнаружил, что при манипуляции фильтром времени формула выдает разные значения. Разобрал формулу на части проверил каждый кусок
и понял что виновато условие
product_id_amount={"=Sum(amount_final)>0"}
Надо в него вставить условие для последнего месяца. Недолго думая соорудил
Sum({<МесяцГод={"$(=MonthName(Max({1}NumbOfDays)))"} amount_final)
Этот фрагмент сам по себе работает как надо, но когда я его в формулу (3) запихнул не работает - не хочет сет анализ
во внутрь сет анализа пускать. Попробовал соорудить переменную
vLastStock=Sum({<МесяцГод={"$(=MonthName({1}Max(NumbOfDays)))"}>}amount_final) и переделал формулу (3) к виду
Count({<МесяцГод={"$(=MonthName(Max(NumbOfDays)))"}, product_id_amount={$(=vLastStock)} >}Distinct product_id_amount)
А она и не работает, собака такая. Я уже и так бился и сяк, и об косяк. Помогите добрые люди чем можете. А то я шо то с собой сделаю.