powered by simpleCommunicator - 2.0.44     © 2025 Programmizd 02
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / Способы формирования остатков в OLAP-системе (длинно! :)
5 сообщений из 5, страница 1 из 1
Способы формирования остатков в OLAP-системе (длинно! :)
    #32094640
Пашка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет всем! На эту тему уже вроде писано-переписано (еще на olap.ru), но я свою проблему так и не решил до конца. Тема такая: Есть Склады, на которых хранится Товар. И Дни конечно есть. Нужно в ОЛАП-кубе (MS AS) Иметь возможность видеть остаток по каждому Товару на каждом Складе, и на каждый День. Т.е. - три измерения - День, Склад, Товар. причем остаток нужен не только в штуках, но и в деньгах (т.е. штука умноженная на цену на нужный день).
Я на данный момент знаю два способа решения этого вопроса:
1) По таблице фактов, средствами MDX, просто складывая на лету весь приход со всем расходом. Создаем Calculated Member типа SUM(PeriodsToDate([DateYMD].[Yea],[DateYMD].CurrentMember),[Measures].[Штук]) и т.п..
Это - прекрасный вариант, но в моей ситуации он годится только для остатка в штуках, потому что у нас изменения цен товара не сопровождаются какими-либо товарными документами (типа переоценки остатков), и остатки в деньгах посчитать таким способом невозможно. :(. (Цену товара на дату можно узнать только из отдельной таблицы цен).
2) Сделать дополнительную таблицу - с остатками (Дата, Склад, Товар, ОстатокШТ,ОстатокРУБ). Строк в ней будет соответственно Складов*Дней*Товаров. За год у меня получится более 100 млн. строк. Очень много, учитывая, что в таблице фактов (продаж) у меня 3-4 млн. строк в год. И по этой таблице строить куб остатков, который потом соединять с кубом продаж.
Это реально, это тоже работает. Но очень громоздко. Мне кажется к концу года остатки я буду считать недопустимо долго.

Так вот, других вариантов получения остатков в OLAP я пока не вижу.
Может быть есть какие-нибудь еще варианты, идеи, мнения?
Буду очень рад выслушать!
...
Рейтинг: 0 / 0
Способы формирования остатков в OLAP-системе (длинно! :)
    #32095008
GoodLeo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Для меня реализация подобной задачи предстоит в будущем.
Если честно я не вижу других методов реализации, помимо описанных тобой.
А сумму можно посчитать, как мне кажется комбинацией первого варианта, с отдельной таблицей цен.
...
Рейтинг: 0 / 0
Способы формирования остатков в OLAP-системе (длинно! :)
    #32095848
Jury
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Построй по этой таблице цен отдельный куб с измерениями Дата, Товар, объедини эти два куба в виртуальный и считай стоимостные остатки там умножением количества на цену.
...
Рейтинг: 0 / 0
Способы формирования остатков в OLAP-системе (длинно! :)
    #32096365
Пашка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это один из многих отклоненных мною способов...;-)
Ведь умножать остаток на цену можно только если я рассматриваю уровень Товар. А чаще всего остатки смотрятся не по товару, а по различным группировкам товара - Поставщикам, категориям. Да или хоть по складам.
А на уровне Поставщик, Группа, Склад - цены ведь нету, цена определена только, если текущий уровень Товар. (Поставщик, Группа - это отдельные измерения, НЕ часть иерархии Измерения Товар).
В общем, пока другого варианта, кроме отдельной таблицы с остатками я не вижу...:-(
...
Рейтинг: 0 / 0
Способы формирования остатков в OLAP-системе (длинно! :)
    #32096755
Jury
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно сделать для стоимостного остатка calculated member, который будет считать его как сумму количество*цена для всех товаров, являющихся детьми того элемента, который выбран в измерении Товар. Но это, конечно, будет при большом количестве товаров работать медленно. Тут надо смотреть для конкретного случая.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / Способы формирования остатков в OLAP-системе (длинно! :)
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]