OBIEE 12.2.1.2 - Комплексные соединения - физическая / бизнес-модель

У меня проблемы со сложными объединениями в OBIEE. Любая помощь высоко ценится!

Объединение на физическом уровне строится так (соединение помечено красным):

Дим --- Факт

И День Фактов

МЕЖДУ CAST(EVALUATE('to_char(%1,%2)',Dim Valid From,'YYYYMMDD') DOUBLE)

А ТАКЖЕ

CAST(EVALUATE('to_char(%1,%2)',Dim Valid to,'YYYYMMDD') как DOUBLE)

Приближаясь к бизнес-модели, источник логической таблицы (->content-> логический уровень) таблицы фактов (хотя и объединенный в bmm) не найдет новое измерение, что приведет к противоречивой бизнес-модели. Иногда новое измерение также отображается в виде новой таблицы фактов.

Интересный факт: это сложное соединение уже работает для другого измерения, которое построено точно так же. Я не испытывал никаких проблем во всех трех слоях (после того, как было выполнено сложное соединение).

Идеи и предложения очень ценятся!

1 ответ

Прежде всего, это в общем плохая идея, поскольку с помощью такой "логики" соединения вы в основном деактивируете оптимизатор и запускаете полное сканирование таблицы по обеим сторонам запроса. Редактировать это относится к Oracle DB, конечно.

Во-вторых, это особый способ написания условия соединения. Я использовал пример, основанный на SamplApp, чтобы сделать почти то же логическое преобразование, но не прибегая к EVALUATE: https://www.slideshare.net/ChristianBerg8/50-shades-of-fail-kscope16 (слайд 12 + 13)

В-третьих, это 12.2.1.2, и да, ваш случай является одним из "худших случаев", упомянутых в этой презентации;-)

Другие вопросы по тегам