Используйте объединенный столбец для дальнейших вычислений после объединения в Qlik Sense

#qlikview #qliksense #qlik-expression

Вопрос:

Я собираюсь создать панель для нашей самостоятельной деятельности и, следовательно, объединил две таблицы фактов.

Теперь я хочу провести дальнейшие вычисления с новым столбцом, но QlikSense показывает ошибку и указывает, что столбец «DeliveredQuantity» не может быть найден.

Я покажу вам свое заявление:

 ORDERPOSITION:
LOAD
AUFK_NRamp;'|'amp;FIRM_NR as %AUFK,
(FIRM_NRamp;'|'amp;AUFK_NRamp;'|'amp;AUFP_NR) AS %AUFPdelivered,
AUFP_NR,
ART_NR as %ART_NR,
ART_NR,
(AUFP_PREIS2/AUFP_PEHFAKTOR/AUFP_PREISFAKTOR)*DeliveredQuantity AS TurnoverOrderPosition,
FROM [lib://QVD/HKTRS2_V_AUFP.qvd]
(qvd);
 
LEFT JOIN (ORDERPOSITION)
LOAD (FIRM_NRamp;'|'amp;AUFK_NRamp;'|'amp;AUFP_NR) AS %AUFPdelivered,
AUFL_MENGE AS DeliveredQuantity
FROM [lib://QVD/HKTRS2_V_AUFL.qvd]
(qvd);
 

Ответ №1:

Сначала вы должны присоединиться к столам. Как только таблицы будут объединены и все поля окажутся в одной таблице, это поле можно будет использовать для выполнения расчета

Что-то вроде этого:

 // First step is to join both tables
// Prepare the calculated field TurnoverOrderPosition_Temp
ORDERPOSITION_Temp:
Load
    AUFK_NR amp; '|' amp; FIRM_NR as %AUFK,
    FIRM_NR amp; '|' amp; AUFK_NR amp; '|' amp; AUFP_NR AS %AUFPdelivered,
    AUFP_NR,
    ART_NR as %ART_NR,
    ART_NR,
    AUFP_PREIS2 / AUFP_PEHFAKTOR / AUFP_PREISFAKTOR AS TurnoverOrderPosition_Temp,
From 
    [lib://QVD/HKTRS2_V_AUFP.qvd]
    (qvd)
;
 
Left Join (ORDERPOSITION)
Load
    FIRM_NR amp; '|' amp; AUFK_NR amp; '|' amp; AUFP_NR AS %AUFPdelivered,
    AUFL_MENGE AS DeliveredQuantity
From 
    [lib://QVD/HKTRS2_V_AUFL.qvd]
    (qvd)
;

// Once the tables are joined then we can
// create the final calculation
ORDERPOSITION:
Load 
    *,
    TurnoverOrderPosition_Temp * DeliveredQuantity as TurnoverOrderPosition
Resident
    ORDERPOSITION_Temp
;

// we dont need this table anymore
Drop Table ORDERPOSITION_Temp;
// we dont need this field anymore
Drop Field TurnoverOrderPosition_Temp From ORDERPOSITION;