Skip to main content
Announcements
The way to achieve your own success is the willingness to help somebody else. Go for it!
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
otavio_marco
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 @otavio_marco  , 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;