Skip to main content
Announcements
Have questions about Qlik Connect? Join us live on April 10th, at 11 AM ET: SIGN UP NOW
cancel
Showing results for 
Search instead for 
Did you mean: 
Anonymous
Not applicable

União de campos com códigos diferentes

Pessoal, boa noite.

Tenho aqui a seguinte situação:

Na tabela PEMPRESA a empresa ABC tem o código 1.

Na tabela TEMPRESA a empresa ABC está com o código 1000.

Outro exemplo seriam os produtos. Em uma tabela o respectivo produto Y tem o código 1, em outra tabela o produto tem o código 000012 por exemplo.

Tenho notas fiscais que irão ter o mesmo nome de produto Y, porém os códigos são diferentes, por se tratarem de BD separados.

Pensei em tratar o BD antigo substituindo os códigos de pelos códigos do novo BD.

Obrigado.

Labels (1)
26 Replies
Marcio_Campestrini
Specialist
Specialist

Diego

Você pode adotar uma de duas soluções iniciais:

1) Fazer a ligação pelo nome do produto (não recomendo).

2) Criar uma tabela DE-PARA com objetivo de converter a codificação de um BD para a de outro BD.

Márcio Rodrigo Campestrini
mario_sergio_ti
Partner - Specialist
Partner - Specialist

Amigo,

Sendo que o nome dos produtos estão iguais, então poderá criar um Mapping para padronizar as IDs e assim por adiante;

Exemplo simples:

Mapping_ID_Produtos:

Mapping Load

    NOME_PRODUTO,

    ID_PRODUTO

FROM TABELA_BD_NOVO;

Dim_Produtos:

Load

    ApplyMap('Mapping_ID_Produtos',NOME_PRODUTO,ID_PRODUTO) As 'ID_PRODUTO',

    NOME_PRODUTO,

    ...

FROM TABELA_BD_ANTIGO;

Consultor certificado | Quem compartilha, aprende!
https://www.linkedin.com/in/mariosergioti
mario_sergio_ti
Partner - Specialist
Partner - Specialist

Postei a minha resposta... aí apareceu a sua srsrs

A sua já responde bem.

Consultor certificado | Quem compartilha, aprende!
https://www.linkedin.com/in/mariosergioti
Anonymous
Not applicable
Author

Ola pessoal o meu cenário é assim: Primeiro o BD antigo, no caso nesse BD não se insere mais nada, já foi completamente migrado.

  

BD Antigo
ITEMDescricao
.0001 Oleo Diesel BS 500 - ANP 820
.00013Oleo Diesel BS 10 - ANP 820

Aqui meu BD novo, esse sim pode haver inclusão de novos produtos.

BD Novo

ITEMDescricao
1Oleo Diesel BS 500
2Oleo Diesel BS 10

Não seria melhor então padronizar o banco antigo para o novo? Ou seja, foçar ele a alterar os códigos antigos para os códigos do novo BD, uma vez que não teremos mais alteração nesse antigo?

Depois dessa transformação eu não precisarei mais também realizar o EXTRACT, já que a informação do BD antigo não mudará.

Anonymous
Not applicable
Author

Mario, eu pensei nisso, mas o nome dos produtos estão diferentes, assim como os códigos.

Anonymous
Not applicable
Author

Estou pensando nisso Marcio, pq eu apenas precisaria pegar a tabela itens com o código do produto, e descartaria a tabela de produtos que é onde esta a descrição. Ou então trabalhar com um XLS, mas não queria envolver uma auxiliar.

mario_sergio_ti
Partner - Specialist
Partner - Specialist

Amigo, vejo que poderá tratar somente uma vez (ou poucas vezes) a questão da padronização do BD antigo e armazenar em QVD, sendo assim, poderá realizar um DE-PARA dos novos para os antigos, não precisará ficar processando um DE-PARA sempre para os novos, mas é questão de análise interna de vocês (custo-benefício);

Notei que o nome do produto Descricao está diferente entre as tabelas, porém o primeiro sub field parece igual;

Poderá tratar assim

Exemplo:

Mapping_ID_Produtos:

Mapping Load

    Upper(Trim((Descricao))) As 'Descricao',

    ITEM

FROM TABELA_BD_NOVO;

Dim_Produtos:

Load

    ApplyMap('Mapping_ID_Produtos',Upper(Trim(SubField(Descricao,1,'-'))),ITEM) As 'ITEM',

    Descricao,

    ...

FROM TABELA_BD_ANTIGO;

Obs.: Inclui Upper() e Trim() pois é uma boa prática para evitar problemas simples de associação no de-para

Consultor certificado | Quem compartilha, aprende!
https://www.linkedin.com/in/mariosergioti
Marcio_Campestrini
Specialist
Specialist

Nesse cenário eu faria uma rotina de conversão DE-PARA do banco antigo para os valores de codificação do banco novo. Vai dar um pouco de trabalho, mas depois de pronto não precisaria mais mexer nisso.

Márcio Rodrigo Campestrini
mario_sergio_ti
Partner - Specialist
Partner - Specialist

Respondi abaixo amigo.

Consultor certificado | Quem compartilha, aprende!
https://www.linkedin.com/in/mariosergioti