powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / Детализация до "номера накладной"
8 сообщений из 8, страница 1 из 1
Детализация до "номера накладной"
    #32859050
AlexPAV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Народ!

Хочется обсудить одну проблему: Сотрудникам хочется , чтобы в отчетах OLAP присутствовал такой атрибут как номер накладной.

Решение 1 : Вынести все такие отчеты в блок оперативной отчетности (OLAP будет использоваться только для задач анализа без такой детализации). Для данного решения придется приложить усилия для доказывания данного факта начальству (А что в OLAPе это нельзя ??? А почему? А нельзя ли подумать? :-((( )

Решение 2 : Сделать shared измерение "Номер накладной" по таблице фактов (в принципе можно построить иерархию или по датам и номерам накладных (Год-Квартал-Месяц-День-Номер накладной) или по контрагентам (Контрагент-Номер накладной) или просто использовать группировку). Такой вариант в принципе может работать, но с ростом количества фактов может привести к созданию очень большого измерения сопоставимого с размером таблицы фактов (конечно, поменьше - ведь накладная имеет несколько строк). Что может ухудшить скорость отклика.

Вопрос: Кто как решает данную проблему? Может есть какие то другие пути решения?

P.S. Пока накладных не так много, но ожидается довольно приличный объем данных (несколько десятков тысяч накладных в день)
...
Рейтинг: 0 / 0
Детализация до "номера накладной"
    #32859142
Владимир Штепа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexPAVНарод!

Хочется обсудить одну проблему: Сотрудникам хочется , чтобы в отчетах OLAP присутствовал такой атрибут как номер накладной.

Решение 1 : Вынести все такие отчеты в блок оперативной отчетности (OLAP будет использоваться только для задач анализа без такой детализации). Для данного решения придется приложить усилия для доказывания данного факта начальству (А что в OLAPе это нельзя ??? А почему? А нельзя ли подумать? :-((( )

Решение 2 : Сделать shared измерение "Номер накладной" по таблице фактов (в принципе можно построить иерархию или по датам и номерам накладных (Год-Квартал-Месяц-День-Номер накладной) или по контрагентам (Контрагент-Номер накладной) или просто использовать группировку). Такой вариант в принципе может работать, но с ростом количества фактов может привести к созданию очень большого измерения сопоставимого с размером таблицы фактов (конечно, поменьше - ведь накладная имеет несколько строк). Что может ухудшить скорость отклика.

Вопрос: Кто как решает данную проблему? Может есть какие то другие пути решения?

P.S. Пока накладных не так много, но ожидается довольно приличный объем данных (несколько десятков тысяч накладных в день)


Я делал по варианту 2.
"Жить можно сносно" до размера измерения в пару лимонов. Затем начинается ..па. Про то, чтоб с Excel туда смотреть, можно забыть. Только custom MDX.
...
Рейтинг: 0 / 0
Детализация до "номера накладной"
    #32859290
Пашка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я тоже сделал иерархию по таблице фактов. Склад-Дата-НомерНакладной.
Документов за год у меня примерно 200 тысяч, но эксель с таким измерением работает крайне неохотно, точнее охотно но медленно! Особенно если делать с этим измерением Crossjoun-ы.
...
Рейтинг: 0 / 0
Детализация до "номера накладной"
    #32859430
Владимир Штепа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПашкаЯ тоже сделал иерархию по таблице фактов. Склад-Дата-НомерНакладной.
Документов за год у меня примерно 200 тысяч, но эксель с таким измерением работает крайне неохотно, точнее охотно но медленно! Особенно если делать с этим измерением Crossjoun-ы.

А Вы гляньте, что за MDX генерит Excel, тогда станет все понятно.
А на больших измерениях, я только с NonEmptyCrossJoin работаю.
...
Рейтинг: 0 / 0
Детализация до "номера накладной"
    #32859551
AlexPAV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А какие отчеты выполняются не через OLAP?
По моему отчет вида (разные вариации столбцов) :
Столбцы
"Дата""Номер накладной""Продукция""Грузоотправитель""Грузополучатель""Количество"

Все таки больше относиться к оперативной отчетности. Грубо говоря, это - просто список столбцов с данными (может быть достаточно длинным). А если в отчете не 5 столбцов, а 10 и выбран большой период?

Наверное, можно написать к данному отчету быстрый MDX, но вопрос ЗАЧЕМ? Если при достижении определенного количество членов измерения "Номер накладной" возникнут большие тормоза и все придется переделывать заново. А если накладных у меня будет 10 миллионов? Что делать?

Может лучше тогда действительно такие отчеты делать на SQL (по базе OLAP или по OLTP базе)?
...
Рейтинг: 0 / 0
Детализация до "номера накладной"
    #32860079
Константин Лисянский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробуйте Microstrategy.
С масштабируемостью проблем не будет, если сервер хранилища мощный.
К тому же уровень "Накладная" сможете вставить в любое количество имеющихся у Вас измерений.
Можно будет Год-Месяц-День-Накладная или Группа товаров-Товар-Накладная или ещё как-то.
Миллионы накладных будут не страшны. А SQL будет генерироваться автоматически.


С уважением,
Константин Лисянский
http://lissianski.narod.ru
...
Рейтинг: 0 / 0
Детализация до "номера накладной"
    #32860116
Mosha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Альтернативные решения:

1. В AS2K вынести номер накладной в DRILLTHROUGH колонку. Тогда она будет выдаваться как результат SQL query к fact table
2. В AS2005 определить номер накладной как fact dimension (у Кимбалла по моему это называется degenerate dimension)

P.S. В отличие от backfire у меня нет нареканий к MDX который генерит Excel. Нарекания у меня к AS engine, который в версии AS2K не всегда может оптимально этот MDX обработать. В AS2005 query optimizer гораздо умнее...

Моша
----------------------------------------------------
This posting is provided "AS IS" with no warranties, and confers no rights
...
Рейтинг: 0 / 0
Детализация до "номера накладной"
    #32860188
Владимир Штепа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mosha
1. В AS2K вынести номер накладной в DRILLTHROUGH колонку. Тогда она будет выдаваться как результат SQL query к fact table

Очень много задач, которые этим способом не решить, т.к. DRILLTHROUGH показывает всегда сырые данные из таблицы фактов, а вопросы ставятся к данным, аггрегированным до уровня счета.

Mosha
P.S. В отличие от backfire у меня нет нареканий к MDX который генерит Excel. Нарекания у меня к AS engine, который в версии AS2K не всегда может оптимально этот MDX обработать. В AS2005 query optimizer гораздо умнее...

Здоровая самокритика это всегда похвально :-).

Но Excel всего один из многих клиентов, работающих с MSAS. А MSAS один на сегодняшний день. А когда с оптимальным MDX добиваешься результа на порядок лучшего, чем Excel, то здоровая логика подсказывает, сто проблемы не у AS, а в Excel.

Так что проще заменить Excel, чем ждать жутко оптимизированного движка Юкона. :-) Тем более если он придет в срок, то будет с багами. Это же не мои слова :-)
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / Детализация до "номера накладной"
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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