Форум разработчиков QlikView и Qlik Sense. Получи любые ответы на вопросы по QlikView и Qlik Sense в течении нескольких часов!
Вы не вошли.
Коллеги, привет!
Пытаюсь реализовать участок ETL-процесса с PL/SQL средствами QlikView. И что-то застрял вот на чем (привожу ограниченный абстрактный пример):
Tbl1:
LOAD * Inline[
field1, field2
Ivan, 29
Victor, 32
Marina, 23
Anna, 26
];
Tbl2:
LOAD * Inline[
field3, field4
Ivan, m
Marina, w
];
NoConcatenate
Tbl3:
LOAD Tbl1.field1, Tbl1.field2,
Tbl2.field3, Tbl2.field4
Resident Tbl1, Tbl2
Where Tbl1.field1=Tbl2.field3 AND Tbl2.field4='m';
Понятно, что можно организовать в текущем абстрактном примере действие с LEFT JOIN, но в случае, если условий WHERE много, переделать огромный код с PLSQL в QlikView не получится так просто (можно просидеть несколько часов или весь день только над одним запросом).
Подскажите, как организовывать такие запросы в QlikView. Не хочется трогать логику исходного ETL-процесса, т.к. трудозатраты по переносу кода возрастают в несколько раз.
С уважением,
Иван
Редактировался Иван (2015-09-04 18:30:50)
Неактивен
Нашел ответ через функции Exists и Lookup:
Tbl1:
LOAD * INLINE [
field1, field2
Ivan, 29
Victor, 32
Marina, 23
Anna, 26
];
NoConcatenate
Tbl2:
LOAD * INLINE [
field3, field4
Ivan, m
Marina, w
];
NoConcatenate
Tbl3:
LOAD field1, field2
Resident Tbl1
Where Exists(field3,field1) and lookup('field4','field3',field1,'Tbl2')='m'
;
DROP Tables Tbl1, Tbl2;
Неактивен
[ Сгенерировано за 0.013 сек, 10 запросов выполнено - Использовано памяти: 1.51 Мбайт (Пик: 1.67 Мбайт) ]