Коллеги, помогите, пожалуйста, разобраться с расчетом остатков в OLAP кубе.
Система Microsoft SQL Server 2014 (SP2) (KB3171021) - 12.0.5000.0 (X64) Jun 17 2016 19:14:09 Enterprise Edition
Клиент Excel 2013.
Делаю прототип OLAP куба для расчета остатков и движений товара.
Таблица фактов:
Дата, Продукт, Склад, Клиент, Движение Товара в упаковках (расход”-“;приход “+”), Начальный остаток, Конечный остаток.
Сумма по движениям товара за период будет положительна или отрицательна, смотря чего было больше прихода или расхода.
Начальный остаток на дату равен сумме приходов и расходов товара в диапазоне от начальной даты в таблице фактов, до даты текущей строки в таблице фактов не включительно.
Конечный остаток на дату равен сумме приходов и расходов товара в диапазоне от начальной даты в таблице фактов, до текущей даты текущей строки в таблице фактов, включительно.
Необходимо считать движение товара, начальный и конечный остаток на любой период.
Сделал SSAS Olap куб с 4мя измерениями: Товар, Клиент, Склад, Время.
И тремя мерами: ДвижениеТовара(SUM), НачальныйОстаток(LastNonEmpty), КонечныйОстаток(LastNonEmpty).
С движением все просто: считает правильно в любых разрезах.
С остатками беда: правильно считает, только если в столбец вывести даты. Местами ошибается, если даты убрать в фильтр и в столбец вытащить месяца. С годами ошибается почти всегда.
Остатки проверяю по формуле: начальный остаток + движение=конечный остаток
Что я делаю не так? Как правильно считать остатки на начало и конец периода в кубе?
Спасибо.