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

Como trazer valores da diferença das tabelas (Diferença do Conjunto) em qlikview

Tenho duas tabelas  A e B , preciso percorrer a Tabala A e trazer apenas os valores que não estão em B , porém preciso de todos os itens da Tabela A.

Da forma que está ele até retorna , mas no caso de ter mais de um iten na orden,da forma que esta retorna apenas 1 valor . Alguem pode me ajudar a solucionar  ?

O meu código esta assim : 

VISAO_ORDENS_DE_VENDA_PENDENTE:
LOAD NºORDEM_VENDA,
ITEN,
DIA,
MES,
ANO,
VALOR_ORDEM_PENDENTE,
VOLUME_ORDEM_PENDENTE,
FILIAL,
HORA_PED,
PRODUTO,
FAMILIA,
DT_REMESSA_FUTURA
FROM $(vCaminho1)\ORDENS_DE_VENDA_PENDENTE.QVD(qvd);
Concatenate

LOAD
NºORDEM_VENDA
,POSNR AS ITEN
FROM $(vCaminho1)\VBRP_FATURA.QVD(qvd)

WHERE NOT EXISTS(NºORDEM_VENDA);
STORE VISAO_ORDENS_DE_VENDA_PENDENTE INTO VISAO_ORDENS_DE_VENDA_PENDENTE.QVD(QVD);
DROP TABLE VISAO_ORDENS_DE_VENDA_PENDENTE;

1 Solution

Accepted Solutions
AngeloBaruffi
Partner - Contributor II
Partner - Contributor II

Olá @AmandaRocha ,

Isso está ocorrendo devido ao comportamento do Exists(). Você pode utilizar campos com nomes distintos para evitar esse erro.

Para buscar A not in B:

 

Spoiler


TABELA_B:
LOAD
KEY as FILTRO,
... 
FROM TABELA_B;

TABELA_A:
LOAD
KEY,
....
FROM TABELA_A WHERE NOT EXISTS(FILTRO, KEY);

DROP TABLE TABELA_B;

Se você quiser juntar a tabela A com os registros da B que não estão na A:

Spoiler


TABELA_AB:
LOAD
KEY as FILTRO,
KEY,
... 
FROM TABELA_A;

Concatenate
LOAD
KEY,
....
FROM TABELA_B WHERE NOT EXISTS(FILTRO, KEY);

DROP FIELD FILTRO FROM TABELA_AB;

 

View solution in original post

3 Replies
marco_almeida
Creator II
Creator II

 Oi @AmandaRocha tudo certo?

Não entendi sua pergunta. Você quer fazer um A not in B e trazer os dados de A?

Poderia explicar melhor?

Grupo Telegram Qlik Brasil: https://t.me/joinchat/AeRmnUmcxQ02L00g3x-HtQ
AmandaRocha
Explorer II
Explorer II
Author

Boa Tarde @marco_almeida  , tuso em paz ,obrigada .E com você ?

 

Sim ,eu preciso percorrer a Tabela A e verificar quais itens não constam na Tabela B e retorna-los. 

 

AngeloBaruffi
Partner - Contributor II
Partner - Contributor II

Olá @AmandaRocha ,

Isso está ocorrendo devido ao comportamento do Exists(). Você pode utilizar campos com nomes distintos para evitar esse erro.

Para buscar A not in B:

 

Spoiler


TABELA_B:
LOAD
KEY as FILTRO,
... 
FROM TABELA_B;

TABELA_A:
LOAD
KEY,
....
FROM TABELA_A WHERE NOT EXISTS(FILTRO, KEY);

DROP TABLE TABELA_B;

Se você quiser juntar a tabela A com os registros da B que não estão na A:

Spoiler


TABELA_AB:
LOAD
KEY as FILTRO,
KEY,
... 
FROM TABELA_A;

Concatenate
LOAD
KEY,
....
FROM TABELA_B WHERE NOT EXISTS(FILTRO, KEY);

DROP FIELD FILTRO FROM TABELA_AB;