Skip to main content
Announcements
Accelerate Your Success: Fuel your data and AI journey with the right services, delivered by our experts. Learn More
cancel
Showing results for 
Search instead for 
Did you mean: 
josemaria
Creator II
Creator II

Unir dos campos de diferentes tablas con una condición en el script

Hola a tod@s,

Tengo una duda a ver si alguien me puede ayudar.

Estoy trabajando con dos tablas en el script y tengo que unirlas por dos campos con una condición.

en la tabla1 tengo los campos MMHIE1 y MMHIE2 y los tengo que unir con la tabla2 por el campo HIHIE0 con la condición que si el campo HIHLVL tiene el valor 1 es MMHIE1 y si tiene el valor 2 es MMHIE2.

alguien me puede echar una mano?

Gracias

Saludos

1 Solution

Accepted Solutions
josemaria
Creator II
Creator II
Author

Hola Miguel,

Muchas gracias, al final lo he solucionado haciendo dos tablas con un where para cada tabla y las uno con la Itemmaster por el campo clave a cada tabla.

LOAD

    HIHIE0 as FAMILIA,

    HIHLVL as HIHLVL1,

    HITX15 as HITX151,

    HITX40 as Nombre_Familia

FROM

C:\ProgramData\QlikTech\Documents\Informes\QVD\MITHRY.qvd

(qvd)

where HIHLVL=1;

LOAD

    HIHIE0 as SUBFAMILIA,

    HIHLVL as HIHLVL2,

    HITX15 as HITX152,

    HITX40 as Nombre_Subfamilia

FROM

C:\ProgramData\QlikTech\Documents\Informes\QVD\MITHRY.qvd

(qvd)

where HIHLVL=2;

saludos

View solution in original post

6 Replies
m_martinez
Partner - Contributor III
Partner - Contributor III

En la carga de la primera tabla:

if(HIHLVL=1, MMHIE1, MMHIE2) as HIHIE0

josemaria
Creator II
Creator II
Author

Hola Miguel,

las tablas se recargan de QVd's diferentes y si pongo esa condición en la primera me da error de carga ya que el campo HIHLVL no pertenece a la tabla 1.

Saludos

m_martinez
Partner - Contributor III
Partner - Contributor III

Entonces es más complicado.

Si pones un ejemplo con una muestra de datos, será más sencillo ayudarte.

josemaria
Creator II
Creator II
Author

Hola Miguel,

te adjunto ejemplo

Gracias

m_martinez
Partner - Contributor III
Partner - Contributor III

Una posible solución es:

Cargamos primero la tabla ItemMaster.

Después cargamos la otra tabla con un Left join con la tabla ItemMaster:

     HIHIE0 as MMHIE1,

y un where

     where HIHLVL=1 .

Y otra vez la misma tabla con el join también:

     HIHIE0 as MMHIE2,

     where HIHLVL=2

josemaria
Creator II
Creator II
Author

Hola Miguel,

Muchas gracias, al final lo he solucionado haciendo dos tablas con un where para cada tabla y las uno con la Itemmaster por el campo clave a cada tabla.

LOAD

    HIHIE0 as FAMILIA,

    HIHLVL as HIHLVL1,

    HITX15 as HITX151,

    HITX40 as Nombre_Familia

FROM

C:\ProgramData\QlikTech\Documents\Informes\QVD\MITHRY.qvd

(qvd)

where HIHLVL=1;

LOAD

    HIHIE0 as SUBFAMILIA,

    HIHLVL as HIHLVL2,

    HITX15 as HITX152,

    HITX40 as Nombre_Subfamilia

FROM

C:\ProgramData\QlikTech\Documents\Informes\QVD\MITHRY.qvd

(qvd)

where HIHLVL=2;

saludos