Skip to main content
Woohoo! Qlik Community has won “Best in Class Community” in the 2024 Khoros Kudos awards!
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: 
Not applicable

Join

Hola,

Tengo dos tablas y necesito obtener los datos que se encuentra en la primera tabla que no están en el segundo, por ejemplo :

Tabla 1:
1
2
3
4
5
6
7

Tabla 2:
1
3
4
5
10

Por lo que necesito obtener 2,6 y 7

Agradezco la ayuda.

1 Solution

Accepted Solutions
clondono
Creator III
Creator III

Monica puedes hacerlo en el script de esta forma (mira el ejemplo que estoy adjuntando):

Tabla_1:
LOAD ID //Values 1,2,3,4,5,6,7
FROM
Book2.xlsx
(
ooxml, embedded labels, table is Sheet1);
 
Join(Tabla_1)
  Tabla_2:
LOAD ID, //Values 1,3,4,5,10
    ID as Flag //Solo retorna values que existen en la Tabla_1 pero no en la Tabla_2
FROM
Book2.xlsx
(
ooxml, embedded labels, table is Sheet2)
;
  Tab1A:
LOAD
*,
if(IsNull(Flag), ID, Null()) as ID_2
RESIDENT Tabla_1;

DROP TABLE Tabla_1; !

View solution in original post

12 Replies
jolivares
Specialist
Specialist

Load ID

From Tabla1;

Left Join

Load ID

From Tabla2;

Not applicable
Author

Hola,

Este script me está generando toda la información de la tabla1, lo que requiero es que me traiga lo que esté en la tabla 1 y que no lo contenga la tabla 2.   Gracias.

clondono
Creator III
Creator III

Hola Monica,

Puedes agregar este load script:

Tabla_1:
LOAD ID //Values 1,2,3,4,5,6,7
FROM
Book2.xlsx
(
ooxml, embedded labels, table is Sheet1);

Join(Tabla_1)

Tabla_2:
LOAD ID, //Values 1,3,4,5,10
     ID as ID_2# //Solo retorna values que existen en la Tabla_1 pero no en la Tabla_2
FROM
Book2.xlsx
(
ooxml, embedded labels, table is Sheet2);

 

Una vez has completado el reload, puedes crear la siguiente expression en tu app (te va a dar los valores de la Tabla_1 que no se encuentran en la Tabla_2):


=if(IsNull(ID_2), ID, Null())

1.png

- Carlos


Not applicable
Author

Gracias Carlos, me podrías indicar por favor ¿Cómo hago para que dentro del Editor de Script me ejecute esta acción "=if(IsNull(ID_2), ID, Null())" y no dentro de una expresión?  Gracias por tu ayuda.

sorrakis01
Specialist
Specialist

Hola,

Quizás te seria mas sencillo hacerlo así: (adaptalo a tus campos y tablas)

SELECT A.* FROM A WHERE ID

NOT IN(SELECT ID FROM B)

Y si se complica podrias probar

Tabla2:

LOAD Id, 'T2' as Field2

FROM

Tu Fichero

RIGHT JOIN

LOAD Id, 'T1' as Field1

FROM

Tu fichero

Final_Table:

Load Id

Resident Tabla2

WHERE Field2 & Field1 = 'T1';

DROP TABLE Tabla2;

Saludos,

ecolomer
Master II
Master II

Mira este documento

Not applicable
Author

Hola Enrique, no adjuntaste el documento

ecolomer
Master II
Master II

Si, está adjunto.

clondono
Creator III
Creator III

Monica puedes hacerlo en el script de esta forma (mira el ejemplo que estoy adjuntando):

Tabla_1:
LOAD ID //Values 1,2,3,4,5,6,7
FROM
Book2.xlsx
(
ooxml, embedded labels, table is Sheet1);
 
Join(Tabla_1)
  Tabla_2:
LOAD ID, //Values 1,3,4,5,10
    ID as Flag //Solo retorna values que existen en la Tabla_1 pero no en la Tabla_2
FROM
Book2.xlsx
(
ooxml, embedded labels, table is Sheet2)
;
  Tab1A:
LOAD
*,
if(IsNull(Flag), ID, Null()) as ID_2
RESIDENT Tabla_1;

DROP TABLE Tabla_1; !