Как эффективно "внешнее соединение" двух источников данных (SQL-запросов) в модели данных OBIEE 11g?
У меня есть два запроса SQL в модели данных, каждый для другого источника данных. Я пытаюсь связать друг друга с тем, что создание отчета со всеми столбцами не исключает значения, не совпадающие в каждом из запросов. Простое связывание элементов кажется "внутренним объединением" при создании отчета (исключая значения, которые не совпадают в обоих запросах). Я, по сути, ищу "левое соединение" одного источника с другим при создании отчета - я ХОЧУ иметь нулевые значения для отображения из другого источника.
Когда я просматриваю данные в самой модели данных (через вкладку данных), отображаются нулевые значения. Эта проблема возникает только при создании отчета.
Я не администратор баз данных и имею доступ к базе данных только для чтения. У меня нет доступа к инструментам рабочего стола OBIEE.
3 ответа
Догадаться. Хитрость заключается в том, чтобы добавить "фиктивную строку" через UNION во вторую таблицу и создать "фиктивный столбец" в первой таблице (через столбец CASE WHEN IS NULL), который использует некоторое значение-заполнитель вместо нулевых значений. Затем свяжите обе таблицы, используя фиктивный столбец. Таким образом, нулевые значения не исключаются в реальном столбце, когда два запроса связаны между собой. При создании отчета просто исключите фиктивный столбец.
Один флажок: Включить значения NULL
http://obieeil.blogspot.com/2013/05/obiee-11117-include-rows-with-only-null.html
Использует простое левое соединение между query1 и query2
select q1.name,q2.name from query1 q1 left join query2 q2
on q1.num=q2.num2
order by q1.name
NAME NAME2
ExA1 ExB1
ExA2
ExA3
ExA4
ExA5 ExB4