Saltar al contenido principal Saltar al contenido complementario

Archivos QVD.

Un archivo QVD (QlikView Data) es un archivo que contiene una tabla de datos exportados desde Qlik Sense o QlikView. QVD es un formato nativo de Qlik y solo pueden leerlo y escribirlo Qlik Sense o QlikView. El formato de archivo está optimizado para mejorar la velocidad de lectura de datos desde un script de Qlik Sense, siendo al mismo tiempo muy compacto. Leer datos desde un archivo QVD es por lo general 10-100 veces más rápido que leer de otras fuentes de datos.

Los archivos QVD se puede leer en dos modos: estándar (rápido) y optimizado (más rápido). El modo seleccionado lo determina de forma automática el motor de script de Qlik Sense. El modo optimizado puede emplearse solo cuando todos los campos cargados o un subconjunto de ellos sean leídos sin ninguna transformación (sin fórmulas que actúen sobre los campos), aunque sí se permite el renombrado de campos. Una cláusula Where que hace que Qlik Sense descomprima los registros también desactivará la carga optimizada.

Un archivo QVD contiene exactamente una tabla de datos y consta de tres partes:

  • Una cabecera XML (con juego de caracteres UTF-8) que describe los campos de la tabla, el diseño de la información subsiguiente y algunos otros metadatos.
  • Tablas de símbolos en un formato de bytes.
  • Datos reales de la tabla en formato de bits.

Los archivos QVD se pueden usar con muchos fines. Podemos identificar claramente al menos cuatro usos fundamentales. En muchos casos se pueden aplicar dos o más de ellos al mismo tiempo.

  • Reducción de la carga en los servidores de las bases de datos
  • Mediante el envío a buffers de las partes que no cambian, o cambian muy lentamente, de los datos de entrada de archivos QVD, podemos reducir enormemente la cantidad de datos obtenidos de fuentes de datos externas. Esto alivia la carga de las bases de datos externas y reduce el tráfico de la red. Además, cuando varios scripts de Qlik Sense comparten los mismos datos, solo es necesario cargarlo una vez desde la base de datos de origen en un archivo QVD. Las otras apps pueden hacer uso de los mismos datos a través de este archivo QVD.

  • Consolidar datos de múltiples aplicaciones Qlik Sense
  • Con la sentencia de script Binary, se pueden cargar datos desde una sola aplicación Qlik Sense a otra, pero con los archivos QVD, un script de Qlik Sense puede combinar datos de cualquier cantidad de aplicaciones Qlik Sense. Esto abre todo un mundo de posibilidades, por ejemplo para aplicaciones que deseen consolidar datos similares procedentes de diversas unidades de negocio, etc.

  • Carga incremental
  • En muchos casos habituales, la funcionalidad del QVD puede usarse para la carga incremental, de modo que solo se carguen los registros nuevos de una base de datos en aumento.

Nota informativa

Para ver cómo utiliza Automatización de aplicaciones de Qlik la comunidad de Qlik para mejorar los tiempos de carga de los QVD, vea Cómo dividir archivos QVD usando una automatización para mejorar las recargas.

Crear archivos QVD

Puede crear y dar nombre a un archivo QVD usando el comando Store en el script. Indique simplemente en el script que desea exportar una tabla anteriormente leída, o parte de ella, a un nombre de archivo explícito, en una ubicación de su elección.

Store

Esta sentencia de script crea un nombre explícitamente denominado archivo QVD, Parquet, CSV o TXT.

Sintaxis:  

Store[ *fieldlist from] table into filename [ format-spec ];

La sentencia solo puede exportar campos desde una tabla de datos. Si tuviéramos que exportar campos de varias tablas, debemos hacer previamente un join explícito en el script para crear la tabla de datos que se ha de exportar.

Los valores de texto se exportan al archivo CSV en formato UTF-8. Se puede especificar un delimitador, vea LOAD. La sentencia de almacenamiento a un archivo CSV no admite exportación BIFF .

Store mytable into [lib://DataFiles/xyz.qvd]; Store * from mytable into [lib://DataFiles/xyz.qvd]; Store myfield from mytable into [lib://DataFiles/xyz.qvd]; Store myfield as renamedfield, myfield2 as renamedfield2 from mytable into [lib://DataFiles/xyz.qvd]; Store mytable into [lib://DataFiles/myfile1.txt]; Store mytable into [lib://DataFiles/myfile2.csv];

  1. Abra la app Tutorial de script avanzado.
  2. Haga clic en la sección de script Product.
  3. Agregue lo siguiente al final del script:
  4. Store * from Product into [lib://DataFiles/ProductData.qvd](qvd);

    Su script debería tener el aspecto siguiente:

    CrossTable(Month, Sales)
    LOAD
        Product,
        "Jan 2014",
        "Feb 2014",
        "Mar 2014",
        "Apr 2014",
        "May 2014"
    FROM [lib://DataFiles/Product.xlsx] 
    (ooxml, embedded labels, table is Product);
    
    Store * from Product into [lib://DataFiles/ProductData.qvd](qvd);

  5. Haga clic en Cargar datos.
  6. Ahora, el archivo Product.qvd debería estar en la lista de archivos.

    Este archivo de datos, que es el resultado del script de Crosstable, es una tabla de tres columnas, una por cada categoría (Product, Month, Sales). Ahora, este archivo de datos se puede utilizar para sustituir toda la sección de script Product .

Leer datos desde archivos QVD

Un archivo QVD se puede leer o está accesible a Qlik Sense mediante los siguientes métodos:

  • Cargar un archivo QVD como una fuente de datos explícita. Los archivos QVD se pueden referenciar mediante una sentencia load en el script de Qlik Sense, igual que cualquier otro tipo de archivos de texto (csv, fix, dif, biff, etc.).
  • LOAD * from [lib://DataFiles/xyz.qvd] (qvd); LOAD fieldname1, fieldname2 from [lib://DataFiles/xyz.qvd] (qvd); LOAD fieldname1 as newfieldname1, fieldname2 as newfieldname2 from [lib://DataFiles/xyz.qvd](qvd);
  • Acceder a archivos QVD desde el script. Se pueden usar varias funciones de script (todas ellas comenzando por QVD) para recuperar información diversa sobre los datos encontrados en la cabecera XML de un archivo QVD.

  1. Comente todo el script completo en la sección de script Product.
  2. Introduzca el siguiente script:
  3. Load * from [lib://DataFiles/ProductData.qvd](qvd);			

  4. Haga clic en Cargar datos.
  5. Los datos se cargan desde el archivo QVD.

    Ventana de progreso de la carga de datos

    Ventana de progreso de la carga de datos.
Nota informativaPara obtener información sobre el uso de archivos QVD para cargas incrementales, vea esta publicación de blog en Qlik Community: Vista general de la carga incremental de Qlik

 

¡Muchas gracias!

Ha completado este tutorial, ahora ya posee los conocimientos básicos para crear scripts en Qlik Sense. Por favor, visite nuestro sitio web si desea más información sobre otra formación disponible.

¿Esta página le ha sido útil?

No dude en indicarnos en qué podemos mejorar si encuentra algún problema en esta página o su contenido, como, por ejemplo, errores tipográficos, pasos que falta o errores técnicos.