Непонятное поведение QlikView при использовании

Автор rsch, 10 октября 2016, 10:12:24

« назад - далее »

rsch

Добрый день!!!

Разбираю статью http://blog.atkcg.ru/distinct-or-no-distinct-vot-v-chyom-vopros/ и столкнулся с тем, что у меня у меня QlikView обрабатывает данные не ясно для меня:

Table1:
LOAD * INLINE
[Group, Value
A, 150
A, 150
B, 250
B, 250
C, 400
C, 400];
Table2:
LOAD * INLINE
[Group, Value
A, 150
A, 150
B, 250
B, 250
C, 400
C, 400];



Все ясно, получается 1 таблица содержащая данные из 2-х загружаемых таблиц:


Но вот когда добавляю опцию NoConcatenate то поведение становится для меня неожиданным:


1. Почему в таблице только 3 записи, т.е. убираются дубликаты, хотя DISTINCT не используется ?

2. Почему не создаются 2-е таблицы QlikView, а только одна ?

Версия QlikView 12

Заранее спасибо !!!

admin

Привет.
Вы смотрите на ключевую таблицу, с уникальными ключами.
А по таблицам все грузит как обычно, в каждую по 6 записей.

Prive

У Вас создалась модель с синтетическим ключом. Чтобы его увидеть, нужно его создать самому.
Например, вот так:

Table1:
LOAD * INLINE
[Group, Value
A, 150
A, 150
B, 250
B, 250
C, 400
C, 400];
NoConcatenate
Table2:
LOAD * INLINE
[Group, Value
A, 150
A, 150
B, 250
B, 250
C, 400
C, 400];

// Добавляем ключ к таблице Table1
LEFT JOIN(Table1)
LOAD
Group,
Value,
Group & '|' & Value as $Key
Resident Table1;

// Добавляем ключ к таблице Table1
LEFT JOIN(Table2)
LOAD
Group,
Value,
Group & '|' & Value as $Key
Resident Table2;

NoConcatenate
LinkTable:
LOAD
Distinct
$Key,
Group,
Value
Resident Table1;

DROP Fields Group, Value from Table1;
DROP Fields Group, Value from Table2;


После это можно вывести количество значений поля $Key, их 12 (6 из одной таблицы и 6 из другой) :




rsch

Спасибо за помощь, попробую разобраться..

rsch

Всем большое спасибо!!! Стало гораздо понятней!

LoryMax

я делаю декарто произведение из календаря и товаров (outer join).
Далее беру left join таблицы операций с товаром (они по каждому товару не каждый день).

В итоге у меня итоговая таблица не содержит всех дней. почему?

LoryMax

Проблему нашел в используемом ключе для агрегирования. нужно было по сырым данным заново считать hash128(date, article, object). А брал уже рассчитанный хэш, где не было всем дат.

Яндекс.Метрика