En mi artículo anterior, discutimos «HCómo usar QVD para hacer su aplicación QlikView más eficiente?”. En este artículo, daremos un paso adelante para hacer que nuestra aplicación sea más eficiente al tratar con grandes datos transaccionales. Como mencioné en mi artículo anterior, estaba trabajando en una aplicación QlikView, donde tenía que mostrar las ventas a través de varios canales para frecuencias predefinidas (por ejemplo, Diariamente, Mensualmente, Anualmente).
Inicialmente, estaba recargando toda la tabla de transacciones a diario, aunque ya tenía los datos hasta ayer conmigo. Esto no solo llevó mucho tiempo, sino que también aumentó la carga en el servidor de la base de datosUna base de datos es un conjunto organizado de información que permite almacenar, gestionar y recuperar datos de manera eficiente. Utilizadas en diversas aplicaciones, desde sistemas empresariales hasta plataformas en línea, las bases de datos pueden ser relacionales o no relacionales. Su diseño adecuado es fundamental para optimizar el rendimiento y garantizar la integridad de la información, facilitando así la toma de decisiones informadas en diferentes contextos.... y la red. Aquí es donde la carga incremental con QVD hizo una gran diferencia al cargar solo datos nuevos o actualizados de la base de datos en una tabla.
Cargas incrementales:
La carga incremental se define como la actividad de cargar solo registros nuevos o actualizados de la base de datos en un QVD establecido. Las cargas incrementales son útiles porque se ejecutan de manera muy eficiente en comparación con las cargas completas, particularmente para grandes conjuntos de datos.
La carga incremental se puede implementar de diferentes maneras, los métodos comunes son los siguientes:
- Insertar solo (no validar para registros duplicados)
- Insertar y actualizar
- Insertar, actualizar y eliminar
Entendamos cada uno de estos 3 escenarios con un ejemplo
1. Insertar solo:
Digamos que tenemos datos brutos de ventas (en Excel) y cada vez que se registra una nueva venta, se actualiza con detalles básicos sobre la venta por fecha de modificación. Dado que estamos trabajando en QVD, ya tenemos QVD creado hasta ayer (25 de agosto de 2014 en este caso). Ahora, quiero cargar solo los registros incrementales (resaltados en amarillo a continuación).
Para realizar este ejercicio, primero cree un QVD para los datos hasta el 25 de agosto de 2014. Para identificar nuevos registros incrementales, necesitamos saber la fecha hasta la cual, QVD ya está actualizado. Esto se puede identificar verificando el máximo de Modified_date en el archivo QVD disponible.
Como se mencionó anteriormente, asumí que «Ventas. qvd”Se actualiza con datos hasta el 25 de agosto de 2014. Para identificar la última fecha de modificación de «Ventas. qvd”, El siguiente código puede ayudar:
Aquí, cargué el último QVD actualizado en la memoria y luego identifiqué la fecha de la última modificación almacenando un máximo de «Fecha_de_modificación”. A continuación, almacenamos esta fecha en una variableEn estadística y matemáticas, una "variable" es un símbolo que representa un valor que puede cambiar o variar. Existen diferentes tipos de variables, como las cualitativas, que describen características no numéricas, y las cuantitativas, que representan cantidades numéricas. Las variables son fundamentales en experimentos y estudios, ya que permiten analizar relaciones y patrones entre diferentes elementos, facilitando la comprensión de fenómenos complejos.... «Last_Updated_Date«Y suelte la mesa»Ventas”. En el código anterior, he usado Ojeada() función para almacenar el máximo de fecha de modificación. Aquí está su sintaxis:
Peek (nombre de campo, número de fila, nombre de tabla)
Esta función devuelve el contenido de un campo dado para una fila especificada de la tabla interna. FieldName y TableName se deben proporcionar como una cadena y Row debe ser un número entero. 0 denota el primer registro, 1 el segundo y así sucesivamente. Los números negativos indican el orden desde el final de la tabla. -1 denota el último registro.
Dado que conocemos la fecha después de la cual los registros se considerarán nuevos registros, podemos cargar registros incrementales del conjunto de datos (cláusula Where"WHERE" es un término en inglés que se traduce como "dónde" en español. Se utiliza para hacer preguntas sobre la ubicación de personas, objetos o eventos. En contextos gramaticales, puede funcionar como adverbio de lugar y es fundamental en la formación de preguntas. Su correcta aplicación es esencial en la comunicación cotidiana y en la enseñanza de idiomas, facilitando la comprensión y el intercambio de información sobre posiciones y direcciones.... en la instrucción Load) y fusionarlos con QVD disponible (mire la instantánea a continuación).
Ahora, cargue QVD actualizado (Ventas), tendría registros incrementales.
Como puede ver, se agregaron dos registros del 26 de agosto de 2014. Sin embargo, también hemos insertado un registro duplicado. Ahora podemos decir que un método de solo INSERTAR no valida los registros duplicados porque no hemos accedido a los registros disponibles.
Además, en este método no podemos actualizar el valor de los registros existentes.
Para resumir, los siguientes son los pasos para cargar solo los registros incrementales en QVD usando el método INSERTEl término "INSERT" se refiere a la acción de agregar datos en una base de datos o sistema. En el contexto de programación, se utiliza comúnmente en lenguajes SQL para insertar nuevas filas en una tabla. Este proceso es fundamental para mantener la integridad y actualización de la información. Un uso adecuado de la instrucción INSERT contribuye a la eficiencia y efectividad en la gestión de datos.... only:
1) Identificar nuevos registros y cargarlos
2) Concatenar estos datos con un archivo QVD
3) Reemplace el archivo QVD antiguo con una nueva tabla concatenada
2. Método de inserción y actualización:
Como se vio en el ejemplo anterior, no podemos realizar la verificación de registros duplicados y actualizar el registro existente. Aquí es donde, el método Insertar y Actualizar viene a ayudar:
En el conjunto de datos anterior (tabla derecha), tenemos un registro (ID = PRD1458) para agregar y otro (ID = PRD858) para actualizar (valor de ventas de 131 a 140). Ahora, para actualizar y verificar registros duplicados, necesitamos una clave principal en nuestro conjunto de datos.
Supongamos que la identificación es la clave principal y, según la fecha de modificación y la identificación, deberíamos poder identificar y clasificar los registros nuevos o modificados.
Para ejecutar este método, siga pasos similares para identificar los nuevos registros como lo hemos hecho en el método INSERT only y mientras concatenamos los datos incrementales con uno existente, aplicamos la verificación de registros duplicados o actualizamos el valor de los registros existentes.
Aquí, hemos cargado solo aquellos registros donde la clave principal (ID) es nueva y el uso de la función Exists () evita que QVD cargue los registros desactualizados ya que la versión ACTUALIZADA está actualmente en la memoria, por lo que los valores de los registros existentes se actualizan automáticamente.
Ahora, tenemos todos los registros únicos disponibles en QVD con un valor de venta actualizado para ID (PRD858).
3. Método INSERTAR, ACTUALIZAR Y ELIMINAR:
La secuencia de comandos para este método es muy similar a INSERT & UPDATEEl término "UPDATE" se utiliza comúnmente en el ámbito tecnológico y de la comunicación para referirse a la acción de actualizar información, software o sistemas. En un mundo en constante evolución, las actualizaciones son esenciales para mejorar la seguridad, corregir errores y añadir nuevas funciones. Empresas y usuarios deben estar atentos a las actualizaciones disponibles para asegurar un rendimiento óptimo y mantener la integridad de sus dispositivos y datos...., sin embargo, aquí tenemos un paso adicional necesario para eliminar los registros eliminados.
Cargaremos las claves primarias de todos los registros del conjunto de datos actual y aplicaremos una combinación interna con el conjunto de datos concatenados (Antiguo + Incremental). La combinación interna retendrá solo los registros comunes y, por lo tanto, eliminará los registros no deseados. Supongamos que queremos eliminar un registro de (ID PRD1058) en el ejemplo anterior.
Aquí, tenemos un conjunto de datos con la adición de un registro (ID PRD1458), la modificación de un registro (ID PRD158) y la eliminación de un registro (ID PRD1058).
Notas finales:
En este artículo, hemos discutido cómo las cargas incrementales son mejores y brindan una forma eficiente de cargar datos en comparación con la carga COMPLETA. Como buena práctica, debe tener una copia de seguridad periódica de los datos porque pueden verse afectados o puede producirse una pérdida de datos, si hay problemas con el servidor de la base de datos y la red.
Dependiendo de su industria y la necesidad de la aplicación, puede seleccionar qué método funciona para usted. La mayoría de las aplicaciones comunes en la industria BFSI se basan en Insertar y actualizar. Normalmente no se utiliza la eliminación de registros.
¿Ha enfrentado una situación similar o tiene otro truco para mejorar la eficiencia de las aplicaciones de Qlikview bajo su sombrero? Si es así, me encantaría escuchar sus pensamientos a través de los comentarios a continuación, ya que también beneficia a alguien más que intenta manejar una situación similar.
Si le gusta lo que acaba de leer y desea continuar con su aprendizaje sobre análisis, suscríbete a nuestros correos electrónicos, Síguenos en Twitter o como nuestro pagina de Facebook.
Relacionado
Posts Relacionados:
- Reutilizar el modelo de datos de Qlikview en otro archivo usando carga binaria
- ¿Cómo utilizar la función AGGR () en Qlikview? Ejemplos de Qlikview AGGR
- Utilice los archivos de datos de Qlikview para hacer que su aplicación Qlikview sea eficiente
- Variables en Qlikview | Qlikview para crear historias de datos