QlikView - Carga incremental

A medida que aumenta el volumen de datos en la fuente de datos de un documento QlikView, el tiempo necesario para cargar el archivo también aumenta, lo que ralentiza el proceso de análisis. Un enfoque para minimizar este tiempo necesario para cargar datos es cargar solo los registros que son nuevos en la fuente o los actualizados. Este concepto de cargar solo los registros nuevos o modificados desde la fuente en el documento QlikView se llamaIncremental Load.

Para identificar los nuevos registros desde la fuente, usamos una clave única secuencial o un sello de fecha y hora para cada fila. Estos valores de clave única o campo de tiempo de datos deben fluir desde el archivo fuente al documento QlikView.

Consideremos el siguiente archivo fuente que contiene detalles del producto en una tienda minorista. Guárdelo como un archivo .csv en el sistema local, donde QlikView puede acceder a él. Durante un período de tiempo, se agregan algunos productos más y la descripción de algunos de los productos cambia.

Product_Id,Product_Line,Product_category,Product_Subcategory
1,Sporting Goods,Outdoor Recreation,Winter Sports & Activities
2,"Food, Beverages & Tobacco",Food Items,Fruits & Vegetables
3,Apparel & Accessories,Clothing,Uniforms
4,Sporting Goods,Athletics,Rugby
5,Health & Beauty,Personal Care
6,Arts & Entertainment,Hobbies & Creative Arts,Musical Instruments
7,Arts & Entertainment,Hobbies & Creative Arts,Orchestra Accessories
8,Arts & Entertainment,Hobbies & Creative Arts,Crafting Materials
9,Hardware,Tool Accessories,Power Tool Batteries
10,Home & Garden,Bathroom Accessories,Bath Caddies
11,"Food, Beverages & Tobacco",Food Items,Frozen Vegetables
12,Home & Garden,Lawn & Garden,Power Equipment

Cargar los datos en QlikView

Cargaremos el archivo CSV anterior usando el editor de script (Control + E) eligiendo la opción Archivos de tabla como se muestra a continuación. Aquí también guardamos los datos en un archivo QVD en el sistema local. Guarde el documento QlikView como un archivo .qvw.

Verificación de los datos cargados.

Podemos verificar los datos cargados en el documento QlikView creando un objeto de hoja llamado Table Box. Está disponible en el menú Diseño yNew Sheet Objects submenú.

Crear el diseño de la mesa

Al seleccionar el Table Boxobjeto hoja, pasamos a la siguiente pantalla, que se utiliza para seleccionar las columnas y sus posiciones en la tabla a crear. Elegimos las siguientes columnas y sus posiciones y hacemos clic en Finalizar.

Ver los datos existentes

Aparece el siguiente cuadro que muestra los datos tal como se presentaron en el paso anterior.

Actualización de los datos de origen

Agreguemos los siguientes tres registros más a los datos de origen. Aquí, los ID de producto son números únicos, que representan nuevos registros.

13,Office Supplies,Presentation Supplies,Display
14,Hardware,Tool Accessories,Jigs
15,Baby & Toddler,Diapering,Baby Wipes

Script de carga incremental

Ahora, escribimos el script para extraer solo los nuevos registros de la fuente.

// Load the data from the stored qvd.
Stored_Products:
LOAD Product_Id, 
     Product_Line, 
     Product_category, 
     Product_Subcategory
FROM
[E:\Qlikview\data\products.qvd]
(qvd);

//Select the maximum value of Product ID.
Max_Product_ID:
Load max(Product_Id) as MaxId
resident Stored_Products;

//Store the Maximum value of product Id in a variable.
Let MaxId = peek('MaxId',-1);

	 drop table Stored_Products;


//Pull the rows that are new.	 
NewProducts:
LOAD Product_Id,Product_Line, Product_category,Product_Subcategory
	 from [E:\Qlikview\data\product_categories.csv]
	 (txt, codepage is 1252, embedded labels, delimiter is ',', msq)
	 where Product_Id > $(MaxId);
	 
//Concatenate the new values with existing qvd.
Concatenate
LOAD Product_Id,Product_Line, Product_category, 
     Product_Subcategory
FROM [E:\Qlikview\data\products.qvd](qvd);

//Store the values in qvd.
store NewProducts into [E:\Qlikview\data\products.qvd](qvd);

La secuencia de comandos anterior solo obtiene los nuevos registros, que se cargan y almacenan en el archivo qvd. Como vemos los registros con los nuevos ID de producto 13, 14 y 15.