Неофициальный форум пользователей Qlik Sense & Qlikview

Для разработчиков => Вопросы по Qlik Sense & QlikView => Тема начата: andsoft80 от 28 апреля 2017, 09:15:03

Название: Соединение таблиц
Отправлено: andsoft80 от 28 апреля 2017, 09:15:03
Добрый день, всем участникам форума.
Занимаюсь проектом на QlikView есть проблемка.
Есть три таблицы  - Таб1, Таб2, Таб3
Шаг 1. Первая грузится Таб1, Шаг 2. затем необходимо Таб2 соединить с Таб3, которая в свою очередь забирает данные для обсчета из Таб1. Шаг 3. После этого полученную таблицу на шаге 2 необходимо объединить с Таб 1.

У меня после оператора объединения сразу происходит объединение Таб1 с Таб2 и после этого соединение с   Таб3. Как сделать объединение с уже объединенной таблицей Таб2 и Таб3?
Название: Re: Соединение таблиц
Отправлено: admin от 28 апреля 2017, 12:26:21
Добрый день.

Может код выложить?
Название: Re: Соединение таблиц
Отправлено: andsoft80 от 28 апреля 2017, 02:11:34
load tab1 from...
concatenate
load tab2 from...
left join
load tab3 from
Resident tab1

Сейчас решил вопрос сохранением tab1 в qvd и восстановлением после соединения, но как-то кривенько так..нужно что-то типа скобок после concatenate.
Название: Re: Соединение таблиц
Отправлено: admin от 01 мая 2017, 07:25:20
Привет.

Зачем мы грузим таб1 если нам надо надо связывать таб2 с производной от таб1?
Можно просто сделать
tmp1:
load * from tab2 ;
//tab3
left join
load * from tab1 ;
concatenate (tmp1) load ... from tab1 ;
Название: Re: Соединение таблиц
Отправлено: andsoft80 от 02 мая 2017, 09:52:37
Выбираются данные по разным условиям и разные колонки из БД, а потом уже объединяются после расчета. Когда выполняется соединение вообще получается 1 строчка...
Полностью алгоритм такой - формирование оборотки от текущей даты с известными планами прихода и расхода:
Есть базовая таблица - условно tab0 с полем "дата"
Из нее выбираю tab1 до now и добавляю расчетную колонку К1
Далее из tab0 выбираю следующий месяц в tab2, а в tab3 загружаю данные из tab1 и сдвигаю датуу на 1 месяц. Соединяю tab2 и tab1 - получаю строку следующего месяца , но с колонкой К1 от предыдущего месяца , соединяю tab2 с tab1 и т.д. в цикле...