QlikView - Join

I join in QlikView vengono utilizzati per combinare i dati di due set di dati in uno. I join in QlikView hanno lo stesso significato dei join in SQL. Nell'output vengono visualizzati solo i valori di colonna e riga che corrispondono alle condizioni di join. Nel caso in cui tu sia completamente nuovo alle iscrizioni, potresti prima impararle qui.

Dati in ingresso

Consideriamo i seguenti due file di dati CSV, che vengono utilizzati come input per ulteriori illustrazioni.

Product List:
ProductID,ProductCategory
1,Outdoor Recreation
2,Clothing
3,Costumes & Accessories
4,Athletics
5,Personal Care
6,Hobbies & Creative Arts

ProductSales:
ProductID,ProductCategory,SaleAmount
4,Athletics,1212
5,Personal Care,5211
6,Hobbies & Creative Arts,1021
7,Display Board,2177
8,Game,1145
9,soap,1012
10,Beverages & Tobacco,2514

Inner Join

Carichiamo i dati di input di cui sopra utilizzando l'editor di script, che viene richiamato premendo Control+E. Scegli l'opzioneTable Filese cerca il file di input. Quindi modifichiamo i comandi nello script per creare un inner join tra le tabelle.

Inner join recupera solo quelle righe, che sono presenti in entrambe le tabelle. In questo caso, le righe disponibili inboth Product List and Product Salestabella vengono recuperate. Creiamo un fileTable Box utilizzando il menu Layout → New Sheet Objects → Table Box dove scegliamo tutti e tre i campi: ProductID, ProductCategory e SaleAmount da visualizzare.

Unisciti a sinistra

Il join sinistro implica il recupero di tutte le righe dalla tabella a sinistra e le righe corrispondenti dalla tabella a destra.

Carica script

Sales:
LOAD ProductID, 
     ProductCategory, 
     SaleAmount
FROM
[C:\Qlikview\data\product_lists.csv]
(txt, codepage is 1252, embedded labels, delimiter is ',', msq);

LEFT JOIN(Sales)

LOAD ProductID, 
     ProductCategory
FROM
[C:\Qlikview\data\Productsales.csv]
(txt, codepage is 1252, embedded labels, delimiter is ',', msq);

Creiamo un file Table Box utilizzando il menu Layout → New Sheet Objects → Table Box, dove scegliamo tutti e tre i campi: ProductID, ProductCategory e SaleAmount da visualizzare.

Right Join

Il join destro implica il recupero di tutte le righe dalla tabella a destra e le righe corrispondenti dalla tabella a sinistra.

Carica script

Sales:
LOAD ProductID, 
     ProductCategory, 
     SaleAmount
FROM
[C:\Qlikview\data\product_lists.csv]
(txt, codepage is 1252, embedded labels, delimiter is ',', msq);

RIGHT JOIN(Sales)

LOAD ProductID, 
     ProductCategory
FROM
[C:\Qlikview\data\Productsales.csv]
(txt, codepage is 1252, embedded labels, delimiter is ',', msq);

Creiamo un file Table Box utilizzando il menu Layout → New Sheet Objects → Table Box, dove scegliamo tutti e tre i campi: ProductID, ProductCategory e SaleAmount da visualizzare.

Outer Join

L'unione esterna implica il recupero di tutte le righe dalla tabella a destra e dalla tabella a sinistra.

Carica script

Sales:
LOAD ProductID, 
     ProductCategory, 
     SaleAmount
FROM
[C:\Qlikview\data\product_lists.csv]
(txt, codepage is 1252, embedded labels, delimiter is ',', msq);

OUTER JOIN(Sales)

LOAD ProductID, 
     ProductCategory
FROM
[C:\Qlikview\data\Productsales.csv]
(txt, codepage is 1252, embedded labels, delimiter is ',', msq);

Creiamo un file Table Box utilizzando il menu Layout → New Sheet Objects → Table Box dove scegliamo tutti e tre i campi: ProductID, ProductCategory e SaleAmount da visualizzare.