Skip to main content
Announcements
Qlik Connect 2024! Seize endless possibilities! LEARN MORE
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Actualizar datos en qvd

Alguien sabe alguna forma de poder actualizar los datos de un qvd, parecido a realizar un update en sql.

Necesito hacerle un update a una tabla que reside en un qvd con otros valores, pero todavia no he encontrado la forma.

Si alguien me pudiese dar una luz acerca de como realizar esto.

Saludos

4 Replies
Not applicable
Author

La única opción que tienes es leer del QVD, hacer los cambios necesarios y volver a escribir el QVD.

Not applicable
Author

Ok muchas gracias, voy a leer al respecto, es algo que no tengo muy claro. si tuvieses por alli algun ejemplo seria excelente.

saludos.

Not applicable
Author

Hola,

en el manual de referencia hablan algo al respecto de la utilización de archivos QVD para carga incremental. Hay 4 posibles escenarios

- Caso 1: Anexar sólo.El caso más simple es el de los archivos de registro, que sólo se anexan.

          Ejemplo de script:

                    Buffer (Incremental) Load * From LogFile.txt (ansi,txt, delimiter is ',embeddedlabels);'

- Caso 2: Insertar sólo. (No Actualizar o Borrar).Si los datos residen en una base de datos que no es un simple archivo de registro, el enfoque del caso 1 no funciona. El problema puede no obstante resolverse con una pequeña cantidad de trabajo extra.

          Ejemplo de script:

                    QV_Table:

                         SQL SELECT PrimaryKey, X, Y FROM DB_TABLE

                          WHERE ModificationTime >= #$(LastExecTime)#

                                   AND ModificationTime < #$(BeginningThisExecTime)#;

                          Concatenate

                          LOAD PrimaryKey, X, Y FROM File.QVD;

                          STORE QV_Table INTO File.QVD;

- Caso 3: Insertar y Actualizar. (No Borrar) En este caso los datos de registros previamente cargados pueden haber sido modificados entre las diversas ejecuciones de script.

               Ejemplo de script:

                   QV_Table:

                         SQL SELECT PrimaryKey, X, Y FROM DB_TABLE

                         WHERE ModificationTime >= #$(LastExecTime)#;

                     Concatenate

                          LOAD PrimaryKey, X, Y FROM File.QVD

                           WHERE NOT Exists(PrimaryKey);

                            STORE QV_Table INTO File.QVD;

- Caso 4: Insertar, Actualizar y Borrar El caso más difícil de manejar se da cuando los registros han sido realmente eliminados de la base de datos fuente entre ejecuciones de script.

                    Ejemplo de script:

                         Let ThisExecTime = Now( );

                         QV_Table:

                                   SQL SELECT PrimaryKey, X, Y FROM DB_TABLE

                                   WHERE ModificationTime >= #$(LastExecTime)#

                                    AND ModificationTime < #$(ThisExecTime)#;

                         Concatenate LOAD PrimaryKey, X, Y FROM File.QVD

                         WHERE NOT EXISTS(PrimaryKey);

                         Inner Join SQL SELECT PrimaryKey FROM DB_TABLE;

                         If ScriptErrorCount = 0 then

                              STORE QV_Table INTO File.QVD;

                              Let LastExecTime = ThisExecTime;

                          End If


JenniferFuentes
Contributor
Contributor

Lograste resolverlo???