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

Основной => Вопросы по Qlikview и Qlik Sense => Тема начата: andsoft80 от Апрель 28, 2017, 09:15:03 am

Название: Соединение таблиц
Отправлено: andsoft80 от Апрель 28, 2017, 09:15:03 am
Добрый день, всем участникам форума.
Занимаюсь проектом на 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 pm
Добрый день.

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

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

 Зачем мы грузим таб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 am
Выбираются данные по разным условиям и разные колонки из БД, а потом уже объединяются после расчета. Когда выполняется соединение вообще получается 1 строчка...
Полностью алгоритм такой - формирование оборотки от текущей даты с известными планами прихода и расхода:
Есть базовая таблица - условно tab0 с полем "дата"
Из нее выбираю tab1 до now и добавляю расчетную колонку К1
Далее из tab0 выбираю следующий месяц в tab2, а в tab3 загружаю данные из tab1 и сдвигаю датуу на 1 месяц. Соединяю tab2 и tab1 - получаю строку следующего месяца , но с колонкой К1 от предыдущего месяца , соединяю tab2 с tab1 и т.д. в цикле...