присоединение к QlikView; Что я делаю неправильно?

Я хочу объединить две таблицы и вставить новые данные расчета в первую, посмотрите на пример:

Таблица 1:

Measure Value   Date
Units   1.00    1
Dollar  25.00   1
Units   1.00    2
Dollar  25.00   2

Таблица 2:

Date    Rate
1   1.05
2   1.09

Я хотел бы включить в Таблицу 1 эти строки, которые означают (Доллар: Стоимость * Курс на ту же дату)

Measure Value   Date
LocalValue  26,25   1
LocalValue  27,25   2

Я пытаюсь сделать так, но у меня по-прежнему есть проблема:

JOIN (Table2)
LOAD
  'LocalValue' as [Measure],
  [Value]*[Rate] AS [Value]
RESIDENT Table1
WHERE [Measure] = 'Dollar'

но я получаю это сообщение об ошибке: Поле ошибки не найдено -

Что я делаю неправильно?

Пример здесь:

Table1:
Load * inline
[
Measure,Value,Date
Units,1,1
Dollar,25,1
Units,1,2
Dollar,25,2
]; 

Table2:
Load * inline
[
Date,Rate
1,2
2,3
];

Table1:
JOIN (Table2)
LOAD
  'LocalValue' as [Measure],
  [Value]*[Rate] AS [Value]
RESIDENT Table1
WHERE [Measure] = 'Dollar'

person Thyago Quintas    schedule 18.03.2015    source источник


Ответы (1)


В тот момент, когда вы пытаетесь «присоединиться (Таблица 2)», поля «Скорость» и «Значение» не существуют в той же таблице, из которой вы пытаетесь загрузить (Таблица 1).

Вам необходимо иметь поля Value и Rate в одной таблице, прежде чем присоединиться к расчету LocalValue. Ваш скрипт должен выглядеть так:

Table1:
Load * inline
[
Measure,Value,Date
Units,1,1
Dollar,25,1
Units,1,2
Dollar,25,2
]; 

join

Table2:
Load * inline [ 
Date,Rate
1,2
2,3
];

JOIN (Table1)

//Table1:
LOAD
  'LocalValue' as [Measure],
  [Value]*[Rate] AS [Value]
RESIDENT Table1
WHERE [Measure] = 'Dollar'

И таблица результатов будет:

Measure     Value   Date    Rate
Dollar      25      1       2
Units       1       1       2
Dollar      25      2       3
Units       1       2       3
LocalValue  50      -       -
LocalValue  75      -       -

Стефан

person Stefan Stoichev    schedule 18.03.2015
comment
Спасибо, Стефан, но как мне добавить новую информацию в Таблицу 1? - person Thyago Quintas; 18.03.2015
comment
Когда вы запускаете этот сценарий, результирующей таблицей будет Table1, так как Table2 присоединена к Table1, а экземпляр Table1 (тот, который загружен резидентом) также присоединен к Table1. - person Stefan Stoichev; 19.03.2015