powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / Как на основе одной и той же таблицы измерений лучше организовать два измерения?
32 сообщений из 32, показаны все 2 страниц
Как на основе одной и той же таблицы измерений лучше организовать два измерения?
    #32109140
GoodLeo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Коллеги!
Вот задумался над простым вопросом.
Есть SQL таблица измерений "Контрагенты".
В таблице фактов, есть два поля, связываемых по ID, с таблицей "Контрагенты" (например):
- Контаргенты получатели
- Контрагенты поставщики
Т.е. в кубе мне нужно получать информцию по этим двум "срезам".
Как это лучше организовать? Завести два отдельных измерения или мож ещё как? А то как то процессить два отдельных измерения по сути одного и того же выглядит нелепо.
Мож для этого и предназначены так называемые иерархии, которые можно создать при проектировании измерений? Тока я не понял как их использовать.

Подскажите пожалуйста.
...
Рейтинг: 0 / 0
Как на основе одной и той же таблицы измерений лучше организовать два измерения?
    #32109199
Пашка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не уверен, что это самый оптимальный вариант, но я воспользовался им.
Сделал две вьюхи - в одной Получатели, в другой Поставщики и уже по вьюхам делать измерения. А вьюхи сделать совсем несложно...Фильтровать таблицу контрагентов по наличию кода контрагента в поле "получатель" или "поставщик" таблицы фактов.
...
Рейтинг: 0 / 0
Как на основе одной и той же таблицы измерений лучше организовать два измерения?
    #32109215
GoodLeo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо Пашка!
Я так и сделал. Похоже это единственный вариант.
Только я сделал одну View. Одно измерение строю непосредственно по таблице, а другое - по View.
...
Рейтинг: 0 / 0
Как на основе одной и той же таблицы измерений лучше организовать два измерения?
    #32109645
Пашка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А тогда у тебя в том измерении, которое ты строишь непосредственно по таблице будет много лишних элементов, что наверное не удобно для пользователя.
...
Рейтинг: 0 / 0
Как на основе одной и той же таблицы измерений лучше организовать два измерения?
    #32109728
GoodLeo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Почему?
Набор элементов (членов) абсолютно идентичен в обоих измерениях.
Я просто не совсем удачный пример привел с контрагентами.
На самом деле у меня измерения по подразделениям.
И в процессе бюджетирования любое подразделение может быть как исполнителем (измерение №1) так и заказчиком (измерени №2). Поэтому на таблицу фильтры накладывать ненадо.
Или мож я чего не понял?
...
Рейтинг: 0 / 0
Как на основе одной и той же таблицы измерений лучше организовать два измерения?
    #32109773
Пашка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А-а, если контрагент может и тем и тем быть, тогда все нормально :)
...
Рейтинг: 0 / 0
Как на основе одной и той же таблицы измерений лучше организовать два измерения?
    #32109834
Павел Ишенин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что, нельзя вынести одну и туже таблицу дважды ???
Обычно для такой задачи одна и таже таблица просто выступает под разными альясами.
...
Рейтинг: 0 / 0
Как на основе одной и той же таблицы измерений лучше организовать два измерения?
    #32109846
GoodLeo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Что значит вынести таблицу дважды?
...
Рейтинг: 0 / 0
Как на основе одной и той же таблицы измерений лучше организовать два измерения?
    #32109861
Павел Ишенин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Во-первых, в чем вы строите запрос ?
В большинстве средств есть так называемые QueryBuilder'ы, где все можно строить интерактивно. Для чего выносятся таблицы, расставляются нужные связи и т.п. В случае такого средства вам достаточно одну и туже таблицу вынести 2 раза.

Если вы пишете запрос вручную, то надо написать что-то типа
select t1.* from
fact_table t1, contr t2, contr t3
where
t1.poluchatel = t2.id and
t1.postavschik = t3.id

В данном случае таблица контрагентов (contr) имеет альяс t2 и t3, что делает ее разной таблицей в запросе !!!
...
Рейтинг: 0 / 0
Как на основе одной и той же таблицы измерений лучше организовать два измерения?
    #32110202
Мимоход
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пашка, можно обойтись без вьюх - создать два измерения на одной таблице, и указать в свойствах измерения фильтр. Это если свойство покупатель/продавец указывается прямо в таблице контрагентов.
...
Рейтинг: 0 / 0
Как на основе одной и той же таблицы измерений лучше организовать два измерения?
    #32110221
Julius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да зачем вам эти пизнаки-то нужны?
Ну есть таблица заказов, например, в ней два поля (покупатель и продавец), ну ссылаются они на контрагентов оба. постройте одно измерение на жойне заказов с контрагентами по покупателю, а другое - на жойне по продавцу. Ей богу в обеих измерениях будет то, что вам нужно без всяких вьюх и признаков.
Иля ч чего-то сильно не понимаю?
...
Рейтинг: 0 / 0
Как на основе одной и той же таблицы измерений лучше организовать два измерения?
    #32110555
GoodLeo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем здрасти и с окончаниям праздника Вас! :)
Признаки не нужны, и это понятно если прочитать тексты моих сообщения.
Сделать два измерения по одной и той же таблице измерний, и связать с ID этой таблицы измерений с обеими полями таблицы фактов - ну что же, это мысль!
А вы сами пробовали?
Если так сделать, то в куб попадают те строки из таблицы фактов, у которых поля ID (допустим покупателя и поставщика) равные!
Хотя по идее здравому смыслу эта идея не противоречит.
...
Рейтинг: 0 / 0
Как на основе одной и той же таблицы измерений лучше организовать два измерения?
    #32110599
Мимоход
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А если вставить еще раз таблицу в схему куба?
Вставить можно, и, соответсвенно, не будет как бы двух ссылок на одну таблицу... но вот как работать будет - это надо проверять.
...
Рейтинг: 0 / 0
Как на основе одной и той же таблицы измерений лучше организовать два измерения?
    #32110670
GoodLeo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
И это проверял.
Алгоритм так и не понял, но в моём тестовом примере, весь факт суммировался на одного контрагента, хотя продажи были по двум.
Т.е. всё равно кривулина.
Измерение то всё равно строится по одной и той же таблице измерений.
...
Рейтинг: 0 / 0
Как на основе одной и той же таблицы измерений лучше организовать два измерения?
    #32110693
Мимоход
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А если строить приват измерение, и в нем потом указать на всех уровнях иерархии не имя основной таблицы, а альяс повторно вставленной? Куб при этом процессится, я проверил. Но вот что с данными - это надо смотреть...
...
Рейтинг: 0 / 0
Как на основе одной и той же таблицы измерений лучше организовать два измерения?
    #32110928
Julius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все будет хорошо, если использовать алиас для второй таблицы. Я так всегда делаю и все очень даже замечательно работает. Вообще-то правила на этот счет в MDX такие же, как и в SQL и никакую америку тут открывать не надо.
...
Рейтинг: 0 / 0
Как на основе одной и той же таблицы измерений лучше организовать два измерения?
    #32111164
GoodLeo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Мож тогда поделитесь как в кубе (не MDX запросе, а именно в Cube Editor) использовать алиасы?
...
Рейтинг: 0 / 0
Как на основе одной и той же таблицы измерений лучше организовать два измерения?
    #32111203
Julius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Конечно поделюсь. Когда строите измерение, в построителе измерений (а не в Cube Editor) надо правой кнопочкой щелкнуть на таблице, выбрать Change Alias из контекстного меню и указать алиас, отличный от названия таблицы.
...
Рейтинг: 0 / 0
Как на основе одной и той же таблицы измерений лучше организовать два измерения?
    #32111226
Дядя Федор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Собственно, и в редакторе куба так же :)
...
Рейтинг: 0 / 0
Как на основе одной и той же таблицы измерений лучше организовать два измерения?
    #32111244
GoodLeo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот это действительно дельный совет!
Спасибо Julius!!!
...
Рейтинг: 0 / 0
Как на основе одной и той же таблицы измерений лучше организовать два измерения?
    #32111306
GoodLeo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Но похоже что можно только расшаренное измерение можно натравить на "самопальный" алиас.
У приватного измерения в Cube Editor доступны к изменению источников только поля уровней.
...
Рейтинг: 0 / 0
Как на основе одной и той же таблицы измерений лучше организовать два измерения?
    #32112336
VZL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VZL
Гость
А почему бы не сделать без вьюверов и кубов, прямо с OLTP ?
Какие проблемы?
Тем более на такой мелкой таблице!
...
Рейтинг: 0 / 0
Как на основе одной и той же таблицы измерений лучше организовать два измерения?
    #32112350
Julius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VZL:

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

Собственно, больше ничего и не нужно :)
Как раз вчера такая потребность возникла, было сделано два приват измерения, у одного - изменены мембер кей и мембер нэйм колумны, и все ок.

-------------
Мимо шел, решил остаться
...
Рейтинг: 0 / 0
Как на основе одной и той же таблицы измерений лучше организовать два измерения?
    #32112687
VZL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VZL
Гость
Re: Julius

> А кто сказал, что таблица мелкая, или я что-то пропустил?
Это очевидно по поставленной задаче: количество контрагентов (получателей и поставщиков) в любой фирме конечно.

> Сфера применения локального OLAP (средств построения сводных
> таблиц на основе "плоских данных") - очень узкая.
Я бы такими фразами не бросался.
Во-первых. Потому, что даже OLAP все понимают по разному. Я в числе тех, кто считает что там, где нет ON LINE обработки (т.е. требуются "кубы", сортировки и пр. предварительная суета) - это не OLAP, а отложенная, "посмертная" обработка, что во многих случаях равносильно выяснению вопроса "потел ли покойничек перед смертью?". Я допускаю, что кому-то это м.б. интересно - с академической точки зрения, но не с практической
В-вторых. Кто Вам сказал, что средство для поддержки принятия решений в динамике - очень узкая сфера? Мой опыт прямо противоположен.
В-третьих. Где Вы провели черту между "локальным" и "глобальным" OLAP. Я не встречал такого деления. М.б. следует сначала договориться о терминах? Не там ли она, где встает вопрос: делать или не делать "кубы"? Но тогда мы опять вернемся к вопросу: OLAP - это On-Line Analytic Processing или просто Analytic Processing, без приставки On-Line?

> Тормоза начинаются даже при уже очень небольшом
> количестве записей в таблице.
Конечно, никто не мешает с Тверской на Арбат ехать через Нью Йорк и жаловаться на "тормоза" - это дело вкуса. Однако, кто же мешает выбрать путь покороче? Например, обработку за один проход, распараллеливание этого одного прохода, использование данных только периода управления, а не со времен Ноева Потопа, грамотное проектирование БД, использование индексов, оптимизация запроса и т.д. и т.п.

А для более предметного разговора и обмена опытом хочу предложить "детское" решение: выложить аналогичную тестовую таблицу, (если встает вопрос о корпоративных секретах) куда-нибудь на общедоступный ресурс (например narod.ru) и протестировать на ней всем заинтересованным лицам разные системы, методы, подходы, термины, время обработки и т.д.
(Даже самому предложение понравилось!)
...
Рейтинг: 0 / 0
Как на основе одной и той же таблицы измерений лучше организовать два измерения?
    #32112829
Дядя Федор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
VZL, если бы ты не занимался здесь продвижением своего продукта, я б с тобой поспорил :)
А так - не буду. Твои побуждения слишком прозрачны
...
Рейтинг: 0 / 0
Как на основе одной и той же таблицы измерений лучше организовать два измерения?
    #32112960
Julius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На счет "Локального" OLAP - ему я противопоствляю OLAP "серверный", а не "глобальный".

По большому счету, все технологии кубов данных появились не от нечего делать и не от того, что кто-то считает старые данные более полезными, чем акутальные, а от жизненной необъодимости: за сколько проходов ни обарбатывай миллион записей, все равно курить можно сходить уже при 5 измерениях, причем простых и с этим, по большому счету до появления нанокомпьютеров придется мириться :).

Кто бы спорил - хочется иметь этот самый ON LINE, только вот не можется пока - кто говорит что можется - или обманывает или не договаривает.

Ограничение выборки на уровне OLTP системы кое-что решает, да только вот не работатют быстро сложные OLTP запросы к большим наборам данных (быстро - это 1-2 с и не более, как и положено в приличной аналитической системе, включая время расчета агрегаций в сводной таблице), кроме того, нет той гибкости и скорости анализа, которая достигается, если не надо менять критериев отбора в базовом источнике записей.

Microsoft пошла по куда более продуктивному пути, создав Real-Time OLAP средства в составе Analisys Services 2000. Но это все же кубы данных, хоть и основанные на индексированных представлениях с ROLAP моделью хранения. Эти системы можно применять для ONLINE анализа данных, поскольку данные в них действительно актуальны. Именно это, а не использование локальных OLAP ситсем является магистральным направлением движения в области достижения "ONLINE" анализа данных.

Локальные же OLAP-средства, как ни крути, пригодны только для малых предприятий и на то есть совершенно объектиные причины. При всей их гибкости ни один аналитик не станет ими пользоваться, если ему надо будет или ждать по нескольку минут перестроения таблицы либо диаграммы, либо пытаться понять, что означают цифры на экране после очередного изменения условий отбора записей.
...
Рейтинг: 0 / 0
Как на основе одной и той же таблицы измерений лучше организовать два измерения?
    #32112961
Julius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VZL:

На счет "Локального" OLAP - ему я противопоствляю OLAP "серверный", а не "глобальный".

По большому счету, все технологии кубов данных появились не от нечего делать и не от того, что кто-то считает старые данные более полезными, чем акутальные, а от жизненной необъодимости: за сколько проходов ни обарбатывай миллион записей, все равно курить можно сходить уже при 5 измерениях, причем простых и с этим, по большому счету до появления нанокомпьютеров придется мириться :).

Кто бы спорил - хочется иметь этот самый ON LINE, только вот не можется пока - кто говорит что можется - или обманывает или не договаривает.

Ограничение выборки на уровне OLTP системы кое-что решает, да только вот не работатют быстро сложные OLTP запросы к большим наборам данных (быстро - это 1-2 с и не более, как и положено в приличной аналитической системе, включая время расчета агрегаций в сводной таблице), кроме того, нет той гибкости и скорости анализа, которая достигается, если не надо менять критериев отбора в базовом источнике записей.

Microsoft пошла по куда более продуктивному пути, создав Real-Time OLAP средства в составе Analisys Services 2000. Но это все же кубы данных, хоть и основанные на индексированных представлениях с ROLAP моделью хранения. Эти системы можно применять для ONLINE анализа данных, поскольку данные в них действительно актуальны. Именно это, а не использование локальных OLAP ситсем является магистральным направлением движения в области достижения "ONLINE" анализа данных.

Локальные же OLAP-средства, как ни крути, пригодны только для малых предприятий и на то есть совершенно объектиные причины. При всей их гибкости ни один аналитик не станет ими пользоваться, если ему надо будет или ждать по нескольку минут перестроения таблицы либо диаграммы, либо пытаться понять, что означают цифры на экране после очередного изменения условий отбора записей.
...
Рейтинг: 0 / 0
Как на основе одной и той же таблицы измерений лучше организовать два измерения?
    #32113628
mad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
добрый день.

Или я трид прочитал невнимательно или пользуюсь методикой кривой, но почему бы не реализовать схему куба не как Star в этом случае, а как Snowflake.

Т.е. в таблице контрагентов хранися ключ на таблицу типов контрагентов. Потом к кубу иерархическое измерение приделать ;)
и все, в кубе хоть полные обороты смотреть, хоть по поставщикам, хоть по получателям...

Поправьте меня, пожалуйста, если я не прав.

Спасибо.
...
Рейтинг: 0 / 0
Как на основе одной и той же таблицы измерений лучше организовать два измерения?
    #32113774
Дядя Федор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mad, ты абсолютно прав. Ты тред прочитал невнимательно :-)
...
Рейтинг: 0 / 0
Как на основе одной и той же таблицы измерений лучше организовать два измерения?
    #32113827
mad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А таоке решение уже предлагалось?
Я чего-то запутался в ваших рассуждениях, словами какими сложными говорите. ;) А я еще новичок в этом деле... Ужас.

Зачем 2 измерения строить, две таблицы делать? Решение-то со снежинкой во всех учебниках описано.
Бррр...
...
Рейтинг: 0 / 0
Как на основе одной и той же таблицы измерений лучше организовать два измерения?
    #32113830
mad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а еще лучше на мой вопрос в другом триде ответить, а то меня начальство съест ;))) Пожа-а-алуйста. ;)

Про "приатачить базу".

Спасибо.
...
Рейтинг: 0 / 0
32 сообщений из 32, показаны все 2 страниц
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / Как на основе одной и той же таблицы измерений лучше организовать два измерения?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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