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

Для разработчиков => Вопросы по Qlik Sense & QlikView => Тема начата: arthur1974 от 05 декабря 2017, 07:40:42

Название: Как вычислить поле из значения связанной таблицы?
Отправлено: arthur1974 от 05 декабря 2017, 07:40:42
Подскажите пожалуйста начинающему Как вычислить поле ("sum1" в Tabl2) из значения связанной (по полю "ind") таблицы ("price" в Tabl1)?


Tabl1:
Load
    ind,
    price
FROM
.....

Tabl2:
SQL SELECT
    ind,
    kol,
    kol * price as [sum1]
from
.....
Название: Re: Как вычислить поле из значения связанной таблицы?
Отправлено: admin от 05 декабря 2017, 07:54:38
Привет, можно использовать left join чтобы "привязать нужные поля", а затем еще раз проход через resident и уже с вычислениями.
Можно и applymap() использовать. Смотря какие объемы и какие данные. Надо тестировать на реальных данных.
Название: Re: Как вычислить поле из значения связанной таблицы?
Отправлено: LoryMax от 06 декабря 2017, 08:00:27
Вот тебе паттерны:
T1:
Load ind
    ,price
From ...;

Left join (T1)
SQL SELECT ind
          ,kol
From ...;

T2:
SQL SELECT ind
          ,price
          ,kol
          ,kol*price as sum1
  Resident T1;
Drop table T1;


Rem Через маппинг;
T1:
mapping
Load ind
    ,price
From ...;

T2:
SQL SELECT ind
          ,kol
          ,ApplyMap('T1',ind,0) as price
          ,kol*ApplyMap('T1',ind,0) as sum1
From ...;
Drop table T1;
Название: Re: Как вычислить поле из значения связанной таблицы?
Отправлено: arthur1974 от 07 декабря 2017, 10:16:26
Спасибо за подсказки.

А по скорости вычислений и ресурсоёмкости есть разница между этими двумя способами?
Название: Re: Как вычислить поле из значения связанной таблицы?
Отправлено: arthur1974 от 07 декабря 2017, 10:46:02
а ещё, с ApplyMap похоже так не проходит?

T1:
mapping
Load ind
    ,price
From ...;

T2:
load
...
from...

Right join
SQL SELECT ind
          ,kol
          ,ApplyMap('T1',ind,0) as price
          ,kol*ApplyMap('T1',ind,0) as sum1
From ...;
Drop table T1;
Название: Re: Как вычислить поле из значения связанной таблицы?
Отправлено: LoryMax от 11 декабря 2017, 07:35:44
Цитата: arthur1974 от 07 декабря  2017, 10:16:26  
Спасибо за подсказки.

А по скорости вычислений и ресурсоёмкости есть разница между этими двумя способами?


Стоит по факту посмотреть, какой вариант для вас будет оптимальный. Прогнать 2 варианта.
По последнему вопросу: при наличии общих полей должен сработать right join.