Qlik Community

Qlik Brasil

Group community for Brazil users. discussion only in Portuguese.

Highlighted
diegomorelli
New Contributor III

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.

Tags (2)
26 Replies
MCampestrini
Valued Contributor

Re: União de campos com códigos diferentes

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
Valued Contributor

Re: União de campos com códigos diferentes

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;

mario_sergio_ti
Valued Contributor

Re: União de campos com códigos diferentes

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

A sua já responde bem.

diegomorelli
New Contributor III

Re: União de campos com códigos diferentes

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á.

diegomorelli
New Contributor III

Re: União de campos com códigos diferentes

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

diegomorelli
New Contributor III

Re: União de campos com códigos diferentes

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
Valued Contributor

Re: União de campos com códigos diferentes

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

MCampestrini
Valued Contributor

Re: União de campos com códigos diferentes

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
Valued Contributor

Re: União de campos com códigos diferentes

Respondi abaixo amigo.