QlikView - Uniones

Las uniones en QlikView se utilizan para combinar datos de dos conjuntos de datos en uno. Las uniones en QlikView significan lo mismo que las uniones en SQL. En el resultado solo se muestran los valores de columna y fila que coinciden con las condiciones de combinación. En caso de que sea completamente nuevo en las uniones, es posible que desee conocerlas primero aquí.

Los datos de entrada

Consideremos los siguientes dos archivos de datos CSV, que se utilizan como entrada para más ilustraciones.

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

Unir internamente

Cargamos los datos de entrada anteriores usando el editor de scripts, que se invoca presionando Control+E. Elige la opciónTable Filesy busque el archivo de entrada. Luego, editamos los comandos en el script para crear una unión interna entre las tablas.

La combinación interna recupera solo las filas, que están presentes en ambas tablas. En este caso, las filas disponibles enboth Product List and Product Salesse recuperan la tabla. Creamos unTable Box usando el menú Layout → New Sheet Objects → Table Box donde elegimos los tres campos: ProductID, ProductCategory y SaleAmount para que se muestren.

Unión a la izquierda

La combinación izquierda implica recuperar todas las filas de la tabla de la izquierda y las filas coincidentes de la tabla de la derecha.

Cargar 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);

Creamos un Table Box usando el menú Layout → New Sheet Objects → Table Box, donde elegimos los tres campos: ProductID, ProductCategory y SaleAmount para que se muestren.

Unión derecha

La combinación derecha implica obtener todas las filas de la tabla de la derecha y las filas coincidentes de la tabla de la izquierda.

Cargar 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);

Creamos un Table Box usando el menú Layout → New Sheet Objects → Table Box, donde elegimos los tres campos: ProductID, ProductCategory y SaleAmount para que se muestren.

Unión externa

La combinación externa implica obtener todas las filas de la tabla de la derecha y de la tabla de la izquierda.

Cargar 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);

Creamos un Table Box usando el menú Layout → New Sheet Objects → Table Box donde elegimos los tres campos: ProductID, ProductCategory y SaleAmount para que se muestren.