QlikView – Sobrecarga

A medida que aumenta la cantidad de datos en la fuente de datos del documento QlikView, también aumenta el tiempo que lleva cargar el archivo, lo que ralentiza el proceso de análisis. Una forma de minimizar este tiempo necesario para cargar datos es cargar solo registros nuevos en la fuente o actualizados. Este concepto de cargar solo registros nuevos o modificados desde una fuente en un documento QlikView se llama Carga adicional

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

Echemos un vistazo al siguiente archivo fuente que contiene información sobre un producto en una tienda minorista. Guárdelo como un archivo .csv en su sistema local donde estará disponible para QlikView. Con el tiempo, se agregan más productos y cambia la descripción de algunos productos.

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 datos en QlikView

Cargaremos el archivo CSV anterior usando el editor de scripts (Control + E) seleccionando 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.

    incr_laod_create_qvd

Comprobando los datos cargados.

Podemos verificar los datos cargados en el documento QlikView creando un objeto de hoja llamado Caja de mesa… Está disponible en el menú Diseño y Nuevos objetos de hoja submenú.

table_box_option

Crear un diseño de tabla

Al elegir Caja de mesa hoja, pasamos a la siguiente pantalla, que se utiliza para seleccionar las columnas y sus posiciones en la tabla creada. Seleccione las siguientes columnas y sus posiciones y haga clic en Finalizar.

Incr_load_product_details

Ver datos existentes

Aparece el siguiente cuadro, que muestra los datos presentados en el paso anterior.

incremental_load_data

Actualización de los datos originales

Agreguemos tres registros más a los datos originales. 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 estamos escribiendo un script que solo recupera 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:Qlikviewdataproducts.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:Qlikviewdataproduct_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:Qlikviewdataproducts.qvd](qvd);

//Store the values in qvd.
store NewProducts into [E:Qlikviewdataproducts.qvd](qvd);

El script anterior solo obtiene nuevas entradas, que se cargan y guardan en el archivo qvd. Como podemos ver registros con nuevos ID de producto 13, 14 y 15.

incremental_load_final_data

🚫