Skip to main content
Announcements
See why Qlik is a Leader in the 2024 Gartner® Magic Quadrant™ for Analytics & BI Platforms. Download Now
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Error al combinar archivos QVD y excel


Buenos días a todos,

Hace poco tiempo que me he iniciado en QV por lo que mi experiencia no es muy amplia.

Estoy trabajando en un cuadro de mando para un cliente y me encuentro con un problema que no soy capaz de resolver.

Estoy tratando de relacionar dos documentos, un qvd y un Excel a través de un campo común,  sin embargo no consigo que QV reconozca esos datos comunes.

El campo común es el denominado "EXP_NUMERO" en el qvd y relaciono con el denominado "Nº expediente" del EXCEL. Este último lo renombro en el script como EXP_NUMERO.

Creo que es un tema de formato pero después de hacer varios cambios en el Excel no consigo que funcione.

Os adjunto una detalle de ambos documentos, a ver si alguien puede aportar alguna solución.

Muchas gracias,

Manuel

1 Solution

Accepted Solutions
alex_millan
Creator III
Creator III

Te lo pongo a continuación:

     Estados:

     LOAD

          text(EXP_NUMERO) As Expediente,

          EXP_ESTADO_SMPL As Estado

     FROM

     EXPEDIENTE_ESTADOSIMPLIFICADO.qvd

     (qvd);

     Expedientes:

     LOAD

          text(num([Nº expediente],'####################')) As Expediente,

          num(CP,'00000') As CP,

          Provincia

     FROM

     [Tabla 1.xlsx]

     (ooxml, embedded labels, table is Hoja1);

En caso de que quieras incorporar la información de estado (procedente del qvd) sólo a los expedientes procedentes del fichero excel, puedes utilizar la función map, como te pongo a continuación:

     Map_Estados:

     Mapping LOAD

          text(EXP_NUMERO) As Expediente,

          EXP_ESTADO_SMPL As Estado

     FROM

     EXPEDIENTE_ESTADOSIMPLIFICADO.qvd

     (qvd);

     Expedientes:

     LOAD

            *, ApplyMap('Map_Estados',Expediente,'N/A') As Estado;

     LOAD

          text(num([Nº expediente],'####################')) As Expediente,

          num(CP,'00000') As CP,

          Provincia

     FROM

     [Tabla 1.xlsx]

     (ooxml, embedded labels, table is Hoja1);

Un saludo,

View solution in original post

6 Replies
sorrakis01
Specialist
Specialist

Hola,

LOAD Text([Nº expediente]) as [Nº expediente],

     CP,

     Provincia

FROM

(ooxml, embedded labels, table is Hoja1);

LOAD Text(Num(EXP_NUMERO)) as [Nº expediente],

     EXP_ESTADO_SMPL

FROM

(qvd);

Saludos,

alex_millan
Creator III
Creator III

Hola Manuel,

Para relacionar un campo de diferentes tablas, has de nombrarlos igual en las dos tablas.

Además en estas dos fuentes, tienes el problema de que igual el número de expediente al ser muy largo, lo trata como texto o como número o incluso como número en formato exponencial.

Tampoco se si lo que quieres es incorporar la información de estado procedente del qvd sólamente en los expedientes incluídos en el excel.

Te adjunto fichero de prueba para que veas allí distintas posibilidades. Si no puedes abrirlo, avísame y te copio el script.

Un saludo,

Not applicable
Author

Hola Alex,

No puedo abrir el fichero, si puedes copiarme el script te lo agradezco.

Saludos,

Manuel

alex_millan
Creator III
Creator III

Te lo pongo a continuación:

     Estados:

     LOAD

          text(EXP_NUMERO) As Expediente,

          EXP_ESTADO_SMPL As Estado

     FROM

     EXPEDIENTE_ESTADOSIMPLIFICADO.qvd

     (qvd);

     Expedientes:

     LOAD

          text(num([Nº expediente],'####################')) As Expediente,

          num(CP,'00000') As CP,

          Provincia

     FROM

     [Tabla 1.xlsx]

     (ooxml, embedded labels, table is Hoja1);

En caso de que quieras incorporar la información de estado (procedente del qvd) sólo a los expedientes procedentes del fichero excel, puedes utilizar la función map, como te pongo a continuación:

     Map_Estados:

     Mapping LOAD

          text(EXP_NUMERO) As Expediente,

          EXP_ESTADO_SMPL As Estado

     FROM

     EXPEDIENTE_ESTADOSIMPLIFICADO.qvd

     (qvd);

     Expedientes:

     LOAD

            *, ApplyMap('Map_Estados',Expediente,'N/A') As Estado;

     LOAD

          text(num([Nº expediente],'####################')) As Expediente,

          num(CP,'00000') As CP,

          Provincia

     FROM

     [Tabla 1.xlsx]

     (ooxml, embedded labels, table is Hoja1);

Un saludo,

Not applicable
Author

Jordi, Alex,

Muchas gracias por vuestras rápidas respuestas.

Finalmente, con la soluciones que me proponíais he podido resolver el problema y ya funciona correctamente la combinación de ambos documentos.

Saludos,

Manuel

alex_millan
Creator III
Creator III

De nada Manuel,

pero si no te importa, marca la respuesta como correcta, así el hilo queda cerrado.

Un saludo 😉