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

Форум разработчиков QlikView и Qlik Sense. Получи любые ответы на вопросы по QlikView и Qlik Sense в течении нескольких часов!

Вы не вошли.

Готовые решения на платйорме QlikView

#1 2017-09-17 13:11:49

Дима
Участник
Зарегистрирован: 2017-09-17
Сообщений: 1
Windows 7Chrome 60.0.3112.113

Вопрос, как связать таблицы.

Здравствуйте, прошу помощи:

Делаю отчет где есть
Таблица 1 с платежами (контракт, дата, сумма платежа)
Таблица 2 с балансами (контракт, дата, баланс по телу и тд.)

Есть ряд параметров (например, продукт, dpd), которые завязаны на номере_контракта.

Подскажите как  правильно связать таблицы,
Что бы фильтр накладывать на дату (год, мес., день).
Пробовал делать составной ключу
(  через “&”
  и
   Hash160(contract_id, date(date,'YYYY.MM.DD')) as Key     )

Нелучилось (в загруженых таблицах есть записи с  ключем  и пустыми полями, при проверке на конкретную дату и для конкретного договора запись была и в таблице платежей и в таблице балансов).
Связал по номеру контракта (но поля дата обозвал в каждой таблице поразному) неполучается наложить фильтр на дату.

Подскажите как это правильней сделать?
Заранее спасибо.

Неактивен

#2 2017-09-26 15:55:45

Julia
Участник
Зарегистрирован: 2015-02-16
Сообщений: 5
Windows 8Chrome 60.0.3112.113

Re: Вопрос, как связать таблицы.

Добрый день!
Объединять таблицы следует по полям Контракт и Дата.
В качестве теста, не используйте сразу join, а отдельно свяжите эти таблицы по ключу contract_id &'_'& floor(date) и посмотрите % связи между ними. В ключе всегда лучше использовать номер даты, а не саму дату (функция floor вернет номер даты без времени). Дополнительно сохраните поля Контракт и Дата в каждой из таблиц, предварительно переименовав их, чтобы они не были ключевыми. 
После соединения таблиц, при обнаружении некорректных связей (записи с пустыми полями, где должны быть данные) нужно проверить как написаны дата и номер договора в таблицах, сравнить длину записей в этих строках (функция len), т.е. найти отличия. После обнаружения разницы, добавить соотвествующую обработку при соединении.

Неактивен

Сейчас в этой теме форумчан: 0, гостей: 1
[Bot] CCBot

Подвал форума

Под управлением FluxBB
Модифицировал Visman

[ Сгенерировано за 0.010 сек, 8 запросов выполнено - Использовано памяти: 1.6 Мбайт (Пик: 1.72 Мбайт) ]