Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Boa tarde, tenho uma situação que é a seguinte..
Possuo uma tabela chamada DEPARTAMENTOS onde tem o codigo do departamento e sua descrição
na segunda tabela chmada MOVIMENTO eu tenho os produtos movimentados no periodo onde consta o codigo do item, codigo do departamento e o codigo do lançamento.
minha duvida é a seguinte, tenho vários codigos de lançamentos para o mesmo produto, gostaria que quando o produto do departamento 01 tiver o codigo de lançamento 6000 ele mude seu departamento para 22 assim ao selecionar o departamento 22 um produto de outro departamento qualquer lançado no código 6000 vai aparecer..
pensei em usar o Mapping Inline porém não consigo pensar em algo lógico.
Consegui me expressar?
Olá,
É possível fazer sim com mapping,
E se eu consegui entender bem, veja exemplo:
MAP_DEPARA_DEPTO:
Mapping
LOAD * INLINE [
COD_LANÇ, COD_DEPTO_PARA
6000, 22
6001, 23
6002, 24
];
DEPTO:
LOAD * INLINE [
COD_DEPTO, DPTO
01, DEPTO 01
02, DEPTO 02
03, DEPTO 03
22, DEPTO 22
23, DEPTO 23
24, DEPTO 24
];
LAÇAMENTO:
LOAD
APPLYMAP('MAP_DEPARA_DEPTO',COD_LANÇ,COD_DEPTO) AS COD_DEPTO,
COD_DEPTO AS COD_DEPTO_ORIGINAL,// APENAS UTILIZADO PARA VERIFICAÇÃO
COD_LANÇ,
COD_ITEM,
VALOR
INLINE [
COD_DEPTO, COD_LANÇ, COD_ITEM, VALOR
01, 6000, 11, 100
02, 6001, 12, 200
03, 6002, 13, 300
01, 5000, 11, 400
02, 5001, 12, 500
03, 5002, 13, 600
];
Dessa forma, será feita a alteração do campo do departamento conforme a tabela MAP_DEPARA_DEPTO, onde o qlikview busca o código do lançamento e altera para o código do departamento.
Esta operação é feita através do comando
APPLYMAP('MAP_DEPARA_DEPTO',COD_LANÇ,COD_DEPTO) AS COD_DEPTO,
Qlikfique-se
Tonial.
Olá,
É possível fazer sim com mapping,
E se eu consegui entender bem, veja exemplo:
MAP_DEPARA_DEPTO:
Mapping
LOAD * INLINE [
COD_LANÇ, COD_DEPTO_PARA
6000, 22
6001, 23
6002, 24
];
DEPTO:
LOAD * INLINE [
COD_DEPTO, DPTO
01, DEPTO 01
02, DEPTO 02
03, DEPTO 03
22, DEPTO 22
23, DEPTO 23
24, DEPTO 24
];
LAÇAMENTO:
LOAD
APPLYMAP('MAP_DEPARA_DEPTO',COD_LANÇ,COD_DEPTO) AS COD_DEPTO,
COD_DEPTO AS COD_DEPTO_ORIGINAL,// APENAS UTILIZADO PARA VERIFICAÇÃO
COD_LANÇ,
COD_ITEM,
VALOR
INLINE [
COD_DEPTO, COD_LANÇ, COD_ITEM, VALOR
01, 6000, 11, 100
02, 6001, 12, 200
03, 6002, 13, 300
01, 5000, 11, 400
02, 5001, 12, 500
03, 5002, 13, 600
];
Dessa forma, será feita a alteração do campo do departamento conforme a tabela MAP_DEPARA_DEPTO, onde o qlikview busca o código do lançamento e altera para o código do departamento.
Esta operação é feita através do comando
APPLYMAP('MAP_DEPARA_DEPTO',COD_LANÇ,COD_DEPTO) AS COD_DEPTO,
Qlikfique-se
Tonial.
Bom dia Fernando, minha dificuldade com o mapping é que eu não sei se os campos podem ser fixos ou podem pegar de um banco de dados. No seu exemplo funcionou perfeitamente e eu poderia usar mas quero facilitar a programação no QV e evitar manutenções básicas no futuro, fiz o seguinte, o documento 6000 que eu digo que tem que mudar para o departamento 22 eu cadastrei no banco de dados, assim a gerencia pode incluir ou excluir os documentos a qualquer hora, acredito que seja uma boa ideia. Eu consigo fazer alguma cosia neste sentido?
Caso isto nao seja possível, usarei seu exemplo pois condiz com o que preciso, porém gostaria de algo mais dinâmico. Obrigado pela ajuda.
Olá, você pode sim fazer uma tabela de mapeamento utilizando campos do banco de dados.
Lembrando que essa tabela necessita de apenas dois campos.
1 - Campo DE
2- Campo PARA
Com base em seu exemplo, ficaria algo assim:
MAP_TABELA:
Mapping
SQL Select doc_codigo, doc_depto
from tabela_aux, produtos
where prod_codlanc = doc_codigo;
Qlikfique-se
Tonial.
Boa tarde Fernando, novamente quero agradecer, consegui adaptar o codigo para meu projeto. Realmente não sabia usar o Mapping com SQL e nem para campos diferentes. Obrigado pelo ajuda.