Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Prezados(as), uma dúvida que talvez seja básica para o pessoal experiente. Pesquisei em outros posts, mas não encontrei algo específico.
Tenho duas tabelas (arquivos xlsx por exemplo) conforme segue anexo o .qvw
Na tabela1 em excel eu tenho "x" CNPJ's e como exemplo criei com números ímpares.
Na tabela2 eu tenho "y" e "x" CNPJ's, ou seja, pode haver na tabela2 os mesmos CNPJ's que na tabela1.
O que eu preciso é que o qlikview faça a leitura das duas tabelas e mostre (identifique) em outra tabela (tabela3) os CNPJ's que não existem na tabela1.
No excel é possível fazer via PROC_V, mas quero aprender em qlik e também porque o volume de dados é enorme.
Muito obrigado.
Sérgio
Sergio,
estou colocando 2 opções
Uma seria usando o NOT Exists() e a outra usando o applymap()
Fiz estes codigos fazendo carga parcial (por isto o resident) pois eu nao tinha os xls.
Mas é uma ideia do que podes fazer.
//====================================================================================
//
// Opcao 1
//
Tmp:
mapping
add LOAD
CNPJ_CPF_TABELA1,
'Sim' as Tem
Resident TABELA1 ;
left join (TABELA2)
add LOAD
*,
ApplyMap('Tmp',CNPJ_CPF_TABELA2,'Não') as Tem_CNPJ_Tabela1
Resident TABELA2;
//====================================================================================
//
// Opcao 2
//
TABELA3:
add LOAD
CNPJ_CPF_TABELA2 as CNPJ_CPF_TABELA3
Resident TABELA2 Where not Exists(CNPJ_CPF_TABELA1,CNPJ_CPF_TABELA2);
//====================================================================================
Você quer trabalhar com duas tabelas separadas?
Se fosse fazer via procv iria usar CNPJ_CPF como chave de pesquisa?
Correto Clever. vou trabalhar com duas tabelas separadas e a pesquisa (chave) é pelo campo CPF_CNPJ. (Grato)
Bom dia. Caro Clever, desculpas pela demora nas repostas. Agora que estou aprendendo a usar a "community!". A pergunta passa pelo moderador para depois eu conseguir responder.
Sim, CNPJ_CPF é a chave. Tenho dois arquivos (duas tabelas) em excel com diversos CNPJ_CPF. Numa tabela (tabela1) são os clientes que efetuaram compras e na outra tabela (tabela2) está toda a base de clientes. Preciso comparar uma tabela com a outra e verificar quem não comprou, ou seja, a tabela2 contém muito mais CNPJ_CPF que a tabela1. Obrigado!
Sergio,
estou colocando 2 opções
Uma seria usando o NOT Exists() e a outra usando o applymap()
Fiz estes codigos fazendo carga parcial (por isto o resident) pois eu nao tinha os xls.
Mas é uma ideia do que podes fazer.
//====================================================================================
//
// Opcao 1
//
Tmp:
mapping
add LOAD
CNPJ_CPF_TABELA1,
'Sim' as Tem
Resident TABELA1 ;
left join (TABELA2)
add LOAD
*,
ApplyMap('Tmp',CNPJ_CPF_TABELA2,'Não') as Tem_CNPJ_Tabela1
Resident TABELA2;
//====================================================================================
//
// Opcao 2
//
TABELA3:
add LOAD
CNPJ_CPF_TABELA2 as CNPJ_CPF_TABELA3
Resident TABELA2 Where not Exists(CNPJ_CPF_TABELA1,CNPJ_CPF_TABELA2);
//====================================================================================
Caro Alessandro Furtado, muito obrigado pela ajuda.
Ficou 100%
Grande abraço.
Sergio,
Se o problema foi resolvido não deixe de fechar a thread marcando a resposta do Alessandro como correta.
Abs e Sucesso!!
Afurtado, bom dia! A opção 1 não funciona se colocar a tabela com menor quantidade de linhas primeiro?
Tentei fazer "ida e volta" para ter o campo Tem_CNPJ em ambas as tabelas, mas não consegui. Apenas em uma.
Tem alguma forma de fazer ambas as tabelas terem um campo confirmando ou não o 'match' com a outra?