Carga incremental en QlikView - Parte 1

En QlikView se utiliza cargas incrementales cuando tenemos tablas transaccionales enormes, que crecen muchísimo día a día, sobre las cuales realizar una recarga total diaria se vuelve una tarea interminable. La carga incremental es un mecanismo por el cual solamente la data nueva o actualizada se carga en QlikView, para esto haremos uso de archivos .qvd para almacenar la data cargada.

¿Por qué utilizar carga incremental?

En muchos entornos empresariables habrá muchas tablas transaccionales de gran tamaño, estas tablas pueden recibir derepente mil o millones de registros de datos diarios o mensuales. En vista que la cantidad de datos es enorme y puede ser importante tenerla toda como histórico, es posible que no desee obviar o eliminar los registros antiguos, para lo cual lo ideal es sólo cargar los nuevos. En estos casos es cuando necesitaremos hacer uso de una recarga incremental.

Existen 3 opciones disponibles para la carga incremental

  1. Sólo Insertar
  2. Insertar y Actualizar
  3. Insertar, Actualizar y Eliminar
En esta primera parte, voy a mostrar la primera opción, Sólo insertar.

Para mostrar el concepto de carga incremental, voy a usar y cargar la tabla Tb_Incremental. Antes de comenzar con la carga incremental, lo que se tiene que hacer es una carga inicial, la cual se encarga de almacenar todos los datos existentes en un QVD.


Sólo Insertar

Sólo insertar es el proceso que sólo toma los datos nuevos de la fuente, y los añade al QVD existente.

Pasos

1. Cargue todos los datos de una tabla, normalmente transaccional, de la base de datos y almacene dicha tabla en un QVD. Esto se conoce como carga inicial.
//************** Carga Incremental - Solo Insertar ******************

//Carga Inicial
Carga_Incremental1:
LOAD Codigo, 
     Categoria, 
     Comida, 
     Ubicación, 
     UltimaActualizacion
FROM DataIncremental.xlsx
(ooxml, embedded labels, table is Tb_Incremental);

Store Carga_Incremental1 Into 'D:\Qlik\Demos QlikView\Carga_Incremental\Qvd\Carga_Incremental1.qvd' (qvd);
Después de la carga inicial, se ha añadido una fila en mi tabla para que podamos cargar esta fila actualizada. Con la nueva fila, nuestra tabla se verá como la siguiente imagen, observe la fecha UltimaActualizacion en la última fila.


2. Cargar todos los nuevos datos de la fuente. Puede haber muchas maneras de identificar nuevos datos, una forma es tener una fecha UltimaActualizacion en la tabla y al cargar comprobar el valor contenido en este campo.
Carga_Incremental1:
LOAD Codigo,
     Categoria,
     Comida, 
     Ubicación, 
     UltimaActualizacion
FROM DataIncremental.xlsx
(ooxml, embedded labels, table is Tb_Incremental)
Where UltimaActualizacion >= '28/05/2015';

3. Concatenar estos datos con la carga de todos los datos del archivo QVD y almacenar toda la tabla en el QVD. Esto sobreescribirá el QVD existente.
Concatenate
LOAD Codigo, 
     Categoria, 
     Comida, 
     Ubicación, 
     UltimaActualizacion
FROM D:\Qlik\Demos QlikView\Carga_Incremental\Qvd\Carga_Incremental1.qvd (qvd);

Store Carga_Incremental1 Into 'D:\Qlik\Demos QlikView\Carga_Incremental\Qvd\Carga_Incremental1.qvd' (qvd);
Con esto completamos la carga incremental usando la opción de Sólo Insertar. En una próxima publicación les mostraré como realizar la carga incremental con Inserción y Actualización y la tercera opción que incluye Inserción, Actualización y Eliminación.

Comentarios