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, и да, ваш случай является одним из "худших случаев", упомянутых в этой презентации;-)