Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / отношение "многие ко многим" / 25 сообщений из 33, страница 1 из 2
25.03.2005, 10:47
    #32980192
optimizer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отношение "многие ко многим"
как то пришел к выводу, что при отношении "многие ко многим" между таблицей фактов и таблицей предполагаемого измерения, - измерение не включается в куб, так до сих пор и думаю. И по этой причине "Тип товара" у иеня не используется в OLAP'е, к большому сожалению. Кто нибудь как-то нашел выход?
...
Рейтинг: 0 / 0
25.03.2005, 10:57
    #32980220
Tsaryov S
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отношение "многие ко многим"
У тебя один факт относится сразу к нескольким типам товара?
...
Рейтинг: 0 / 0
25.03.2005, 11:07
    #32980258
optimizer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отношение "многие ко многим"
да, получается так. Факт связан с товаром (1:М), а товар с типом товара как М:М
...
Рейтинг: 0 / 0
25.03.2005, 11:50
    #32980415
Oleg Perekhrest
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отношение "многие ко многим"
Интересно было бы услышать на примере :-)

Вообще-то отношение между двумя таблицами вида M:M, имеет место быть только в логической модели данных. В физической модели данных, оно всегда реализуется через дополнительную таблицу, связь с которой получается вида 1:M и M:1.
В данном случае, отношение M:M скорее всего не между таблицей фактов и измерений, а между измерением и еще одним измерением.

Но интересен момент: факт сам по себе не может существовать, он должен чтото характеризировать, например для факта "оборот по счету" должно быть измерение "счет", чтобы определить оборот по какому счету. Конечно например если просуммировать все обороты по всем счетам, тогда измерения "счет" уже не будет, но могут появится другие измерения например "период суммирования". Чтобы вообще не было измерения, практически не реально, даже в агрегатах как минимум бывают измерения: ид.времени и ид.филиала.
...
Рейтинг: 0 / 0
25.03.2005, 13:01
    #32980641
олапист
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отношение "многие ко многим"
в AS 2005 заявлено что такие вещи поддерживаются автоматом

в AS 2000 решал следующим образом:
1. схема :
Тип(...); ТипТовара(Тип_ID, Товар_ID); Товар(...); Факт(...Товар_ID...)
я правильно понял?
2. на ней создается обычное измерение Тип->Товар
3. в Тип добавляется элемент "Все" который назначается всем товарам; этот элемент делается элементом по умолчанию в измерении
...
Рейтинг: 0 / 0
25.03.2005, 13:53
    #32980804
optimizer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отношение "многие ко многим"
олапист
1. схема :
Тип(...); ТипТовара(Тип_ID, Товар_ID); Товар(...); Факт(...Товар_ID...)
я правильно понял?

Да, все верно (правда там еще "марка товара" затесалась, но не суть).
Дело в том, что "Тип товара" - иерархическое измерение
...
Рейтинг: 0 / 0
25.03.2005, 13:57
    #32980821
optimizer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отношение "многие ко многим"
забыл уточнить что у меня MS AS 2000.
хотя интересно выслушать и про подобный опыт на других системах.
...
Рейтинг: 0 / 0
25.03.2005, 14:23
    #32980922
олапист
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отношение "многие ко многим"
optimizer олапист
1. схема :
Тип(...); ТипТовара(Тип_ID, Товар_ID); Товар(...); Факт(...Товар_ID...)
я правильно понял?

Да, все верно (правда там еще "марка товара" затесалась, но не суть).
Дело в том, что "Тип товара" - иерархическое измерение

В смысле parent-child? Тогда видимо никак - в AS 2000 нельзя смешивать различные типы измерений parent-child и snowflake

А если имеется ввиду что Тип(....Тип, Подтип, ...) то видимо придется перейти к схеме
Тип( Тип ); ТипТовара(Тип_ID, Товар_ID);
ПодТип( ПодТип ); ПодТипТовара(ПодТип_ID, Товар_ID);
и сделать 2 отдельных измерения для типов и для подтипов
иначе не понятно как исключать из агрегатов товары попадающие в несколько подтипов
...
Рейтинг: 0 / 0
25.03.2005, 15:22
    #32981169
optimizer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отношение "многие ко многим"
олапист
иначе не понятно как исключать из агрегатов товары попадающие в несколько подтипов


про это и был вопрос, мало ли, вдруг кто-то извернулся
...
Рейтинг: 0 / 0
25.03.2005, 18:02
    #32981642
optimizer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отношение "многие ко многим"
2 олапист
а что подразумевали под этим?
олапист
в AS 2000 нельзя смешивать различные типы измерений parent-child и snowflake
...
Рейтинг: 0 / 0
25.03.2005, 18:10
    #32981659
олапист
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отношение "многие ко многим"
то что измерение может быть либо parent-child либо star либо snowflake, но нельзя сформировать измерение наполовину из parent-child таблиц наполовину из star таблиц
хотя рад буду ошибиться
кстати как с этим в Yukon?
...
Рейтинг: 0 / 0
28.03.2005, 09:50
    #32983234
optimizer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отношение "многие ко многим"
но как два отдельных измерения связанных с собой можно.
Наприме: есть измерение "организация", и есть отдельное измерение "География", которая выходит на факты через организацию.
А вот у организации есть еще связь М:М с иерархическим измереним "Отрасль", которую я также как и "Тип товара" не могу включить в ОЛАП
...
Рейтинг: 0 / 0
28.03.2005, 12:15
    #32983561
optimizer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отношение "многие ко многим"
мне кажется, что с помощью custom rollup можно решить задачу. Никому в голову MDX не приходит?
...
Рейтинг: 0 / 0
28.03.2005, 13:23
    #32983742
олапист
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отношение "многие ко многим"
ну вот еще есть способ
1. ТипТовара делаем кубом и объединяем его с основным в вируальный
2. меры переопределяем примерно вот так

SUM(Extract(Distinct(NonEmptyCrossJoin({[Тип].CurrentMember}, [Товар].[Товар].AllMembers)), [Товар]), ValidMeasure([Measures].[Мера]))
...
Рейтинг: 0 / 0
29.03.2005, 14:43
    #32986397
optimizer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отношение "многие ко многим"
чего то у меня не получилось таким образом. Буду вам благодарен за более подробное разъяснение
...
Рейтинг: 0 / 0
29.03.2005, 15:46
    #32986584
олапист
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отношение "многие ко многим"
что конкретно не получилось? :)
...
Рейтинг: 0 / 0
29.03.2005, 16:14
    #32986668
optimizer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отношение "многие ко многим"
что означает олапист1. ТипТовара делаем кубом ?
...
Рейтинг: 0 / 0
29.03.2005, 16:34
    #32986740
олапист
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отношение "многие ко многим"
создаем куб используя в качестве таблицы фактов таблицу ТипТовара из вышеприведенной схемы. какие в нем будут определены меры - не важно
...
Рейтинг: 0 / 0
29.03.2005, 17:12
    #32986892
optimizer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отношение "многие ко многим"
а в качестве измерения для данного куба что брать? "Тип"?
...
Рейтинг: 0 / 0
29.03.2005, 17:19
    #32986906
олапист
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отношение "многие ко многим"
два измерения: Тип и Товар
...
Рейтинг: 0 / 0
29.03.2005, 17:41
    #32986974
optimizer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отношение "многие ко многим"
все равно не получилось. общая сумма СМ в 2 раза больше получается
...
Рейтинг: 0 / 0
29.03.2005, 18:05
    #32987040
олапист
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отношение "многие ко многим"
странно странно
вот "улучшенный" вариант

Sum(Distinct(Extract(NonEmptyCrossJoin({[Тип].CurrentMember}, Descendants([Товар].CurrentMember, [Товар].[Товар])), [Товар])),
ValidMeasure([Measures].[Мера]))
...
Рейтинг: 0 / 0
29.03.2005, 21:43
    #32987406
Владимир Штепа
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отношение "многие ко многим"
optimizerвсе равно не получилось. общая сумма СМ в 2 раза больше получается

А у вас куб случайно не виртуальный?
...
Рейтинг: 0 / 0
31.03.2005, 09:42
    #32990151
Tsaryov S
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отношение "многие ко многим"
Если товары и типы относятся "многие-ко-многим", значит, один товар может быть разных типов. Что означает, должна быть привязка, например в таблице фактов, какой тип используется в каждом конкретном факте. Что опять же означает, что тип - независимое от товара измерение.
...
Рейтинг: 0 / 0
31.03.2005, 10:41
    #32990283
Добрый Эх
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отношение "многие ко многим"
optimizer.... хотя интересно выслушать и про подобный опыт на других системах.
....
optimizerвсе равно не получилось. общая сумма СМ в 2 раза больше получается

поделюсь опытом
в BO это разруливается контекстами + меры берутся из алиасов, система сама разбивает данные на кубы, а фактически на разные SQL запрсы и на уровне отчетов вяжет эти кубы и ни каких замножений не происходит.
Минус этого метода - большой объем данных сваливается на клиента и при этом он должен еще их провязать, зато ни каких замножений
...
Рейтинг: 0 / 0
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / отношение "многие ко многим" / 25 сообщений из 33, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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