Skip to main content
Announcements
Join us at Qlik Connect for 3 magical days of learning, networking,and inspiration! REGISTER TODAY and save!
cancel
Showing results for 
Search instead for 
Did you mean: 
gsegreda
Contributor III
Contributor III

¿Cómo cargar datos nuevos a una tabla QVD desde un archivo excell o cvs en QlikSense?

Hola Comunidad.

He leído una gran cantidad de publicaciones sobre el tema pero ninguna me ha logrado resolver algo tan simple.

Recibo un archivo cada mes y semana, el cual quiero agregar a una tabla en un archivo QVD.

De paso, hay forma de crear un QVD al iniciar la carga de datos en QlikSense??

Gracias!!!

8 Replies
hector_munoz
Specialist
Specialist

Hola Gustavo,

¿Podrías explicar más detenidamente lo que necesitas?

Saludos,
H

ecolomer
Master II
Master II

Trato de responderte a tus preguntas.

Para crear un qvd, lees una o varias tablas, las transformas si es necesario y generas el qvd con una sentencia STORE.

Si tienes un qvd generado y quieres añadirle datos (no es necesario, pero puedes hacerlo), lees primero el qvd, a continuación la otra tabla o tablas (igual que generaste el qvd original) y a con un CONCATENATE, añades los registros y finalmente guardas el nuevo qvd con todos los registros (los iniciales del qvd original mas los nuevos concatenados).

gsegreda
Contributor III
Contributor III
Author

Gracias Héctor.

En realidad debería ser algo sencillo.

Tengo un archivo QVD con los datos y necesito añadir nuevos datos a este QVD. Los nuevos datos serán tomados desde archivos de Excel o Texto.

Siguiendo las instrucciones de ejemplo que existe en la documentación, no me carga los datos en el QVD.

Entonces, hay algo que no he logrado hacer correctamente.

isorinrusu
Partner - Creator III
Partner - Creator III

Gráficamente, el script sería así:

// Cargamos el QVD en memoria

MiTabla:

LOAD * From [lib://MiBiblioteca/MiTabla.qvd] (qvd);

//Concatenamos lo que hay en el Excel:

Concatenate(MiTabla)

LOAD

  *

FROM [lib://MiBiblioteca/MiExcel.xlsx]

(ooxml, embedded labels);

//Ya tenemos los datos del QVD añadidos a la tabla, en memoria. Ahora guardamos el QVD con todos los datos
Store MiTabla into [lib://MiBiblioteca/MiTablaConMasDatos.qvd] (qvd);

Si quieres sustituir el QVD, lo guardas con el mismo nombre (en vez de MiTablaConMasDatos.qvd lo guardarías como MiTabla.qvd)

gsegreda
Contributor III
Contributor III
Author

Gracias...

Creo que ya entendí porqué no me fucionaba.

carolinawust
Enthusiast
Enthusiast

Hola,

Soy nueva con Qlik y a pesar de que el post tiene mas de un año, me sirve la información.

Pero me surgen nuevas consulta.

Tengo una APP que en el script de carga de datos, consulta los datos de un archivo txt y los guardo en un QVD (ahora voy a probar la carga incremental). Como hago para que los datos guardados en el QVD me queden disponibles para consultar desde la vista ???

Y la otra consulta es: La primera vez que ejecute el script el QVD no existe. Como se suele hacer esto? con 2 Script distintos? uno para la 1° vez y otro que corra luego haciendo la carga incremental?

Muchas gracias

Saludos

Miguel_Angel_Baeyens

Es importante entender que los ficheros QVD son un almacenamiento temporal de una única tabla del modelo de datos en Qlik y como tal, son una fuente más al igual que pueda serlo una tabla SQL, un fichero CSV, una hoja de cálculo XLSX, etc.

Para crear un fichero QVD, se utiliza el comando STORE. Si el fichero QVD existe, y el proceso tiene permisos, el fichero QVD se sobreescribe, si el fichero no existe y el proceso tiene permisos, se crea, si no tiene permisos, el script fallará.

Cualquier información contenida en un fichero QVD que quieras poner a disposición de los usuarios en un gráfico, por ejemplo, debe cargarse previamente con el comando LOAD.

La carga incremental se puede realizar de varias formas, creo que de las más comunes, tal como explica Ionut más arriba, es cargar el fichero QVD que ya existe, concatenar la nueva información y almacenar la tabla resultante con STORE en el mismo QVD.

El ejemplo de Ionut es muy bueno, lo puedes copiar y pegar y adaptar a tus nombres de ficheros.

El tamaño de estos ficheros puede ser muy grande, puede que prefieras almacenar un QVD por cada mes, o por cada semana o por cada año. Cualquier nombre de fichero en el script de Qlik puede utilizar variables a este efecto.

Tienes todos los detalles de LOAD y STORE en https://help.qlik.com

isorinrusu
Partner - Creator III
Partner - Creator III

Hola Carolina,

Contestando a la pregunta de cómo debe hacerse la primera vez. A lo largo de los años lo he hecho de ambas maneras, tanto controlando la primera generación como no controlándola dando por hecho de que ya hay un histórico. Y desde mi experiencia, si te es posible hacerlo, elige la segunda opción. No controles si hay o no histórico si puedes, porque puede llegar a ser un lío dependiendo de lo que necesites.

Por otro lado, si por ejemplo no eres tú la que despliega la app y no hay opción de colocar tú un histórico del que partir, lo que puedes hacer es combinar sentencias if...else con la función filesize. De esta manera, le puedes decir:

if filesize('MiHistorico.qvd')=0 then [sentencias de generación del histórico]

else

[Sentencias de carga histórico]

endif;

Espero que te sirva.

Saludos,

Sorin.