Уважаемые форумчане, добрый день! Выявилась проблема с расчетом ежедневных остатков. Есть промежуточные ежемесячные данные по остаткам на 1-й день месяца (1 января, 1 февраля и т.д.) и есть оборот (приходы, расходы) по каждому дню в отдельной таблице. Необходимо рассчитать начальный и конечный остаток каждого дня.
Логику расчета конечного остатка понимаю - надо вычислить ближайшую, более раннюю дату промежуточного остатка к минимальной дате установленного срезом временного промежутка. И затем к вычисленному на эту дату промежуточному остатку прибавить обороты за промежуток с даты этого промежуточного остатка до максимальной даты среза. Попытался создать меру по этому алгоритму.
Но она считает неправильно. Просьба помочь в решении вопроса.
Логику расчета конечного остатка понимаю - надо вычислить ближайшую, более раннюю дату промежуточного остатка к минимальной дате установленного срезом временного промежутка. И затем к вычисленному на эту дату промежуточному остатку прибавить обороты за промежуток с даты этого промежуточного остатка до максимальной даты среза. Попытался создать меру по этому алгоритму.
Код |
---|
КонечныйОстаток = var MinDate = MIN('_КалендарьAUTO'[Data]) var MaxDate = MAX('_КалендарьAUTO'[Data]) var DateUst = maxx( filter( 'ПромежИтоги', 'ПромежИтоги'[Дата]>=MinDate&& 'ПромежИтоги'[Дата]<=MaxDate ), 'ПромежИтоги'[Дата] ) return CALCULATE( SUM('Оборот'[ОборотКолич]), FILTER( ALL('_КалендарьAUTO'), '_КалендарьAUTO'[Data]>=DateUst&& '_КалендарьAUTO'[Data]<=MaxDate ) )+ CALCULATE( SUM('ПромежИтоги'[ПромежКоличество]), FILTER( ALL('_КалендарьAUTO'), '_КалендарьAUTO'[Data] = DateUst ) ) |
Но она считает неправильно. Просьба помочь в решении вопроса.