Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Olá pessoal, tudo bem? Tenho uma dúvida...
Tenho uma tabela, com diversos dados, do tipo:
Header 1 | Header 2 | Header 3 | Header 4 |
---|---|---|---|
Cliente x | peça | B | 1 |
Cliente y | peça | A | 3 |
Cliente z | maquina | C | 1 |
Gostaria de atribuir palavras para substituir as letras e Números das colunas 3 e 4.
Exemplo. B = Chamado concluido
A = Em Andamento
1 = Faturado
3 = Em espera..
e assim por diante. tenho várias tabelas que não tenho como vincular nomes. Sei para que serve, mas o sistema trata apenas por códigos. Gostaria de apresentar nos relatórios e gráficos de uma maneira mais amigável.
Tem como fazer isto?
Abraço a todos!
Olá Filipe.
Para fazer isto, primeiro crie uma tabela utilizando o comando Mapping Load a partir de uma tabela, ou arquivo xls, ou até mesmo in line.
Ex:
[De, Para]:
Mapping Load * inline [
De, Para
A, Em Andamento
B, Chamado Concluido
C, Outros
1, Faturado
3, Em Espera
];
Depois em sua tabela de dados vc inclui o comando:
ApplyMap('De, Para', [Header 3]) as [New Header 3],
ApplyMap('De, Para', [Header 4]) as [New Header 4],
Este comando basicamente trocará o índice informado no campo [Header 3] pelo valor existente na tabela mapping.
Bom, espero ter ajudado!
Olá Filipe.
Para fazer isto, primeiro crie uma tabela utilizando o comando Mapping Load a partir de uma tabela, ou arquivo xls, ou até mesmo in line.
Ex:
[De, Para]:
Mapping Load * inline [
De, Para
A, Em Andamento
B, Chamado Concluido
C, Outros
1, Faturado
3, Em Espera
];
Depois em sua tabela de dados vc inclui o comando:
ApplyMap('De, Para', [Header 3]) as [New Header 3],
ApplyMap('De, Para', [Header 4]) as [New Header 4],
Este comando basicamente trocará o índice informado no campo [Header 3] pelo valor existente na tabela mapping.
Bom, espero ter ajudado!
Sim Filipe, você pode usar uma Mapping Table, essa tabela faz um DE/PARA de seus dados.
Vamos ao exemplo:
DescricaoHeader
Mapping LOAD * INLINE [
DE, PARA
A, Descricao1
B, Descricao2
C, Descricao3
];
Em sua tabela que possui a coluna Header, faça assim:
ApplyMap('DescricaoHeader', [Header 3], 'Não Encontrado') as DescricaoHeader
Explicando os parâmetros do ApplyMap
'DescricaoHeader' = Nome da tabela de mapeamento
[Header 3] = Nome da coluna que sofrerá o DE/PARA
'Não Encontrado' = Caso a condição não seja atendida, ou seja, existe um valor que não esta na sua tabela de De/para, então essa linha ficará com o Valor 'Não Encontrado'
Opa, não havia visto sua resposta!
Desculpe postar por cima
Opa, ! Olá Rafael, valeu, obrigado pela ajuda!
Vou procurar por estas opções e fazer estas alterações, será muito mais fácil entender as tabelas com as palabras do que com estes códigos do sistema!
Grande abraço!
Bom dia Yuri, valeu pela ajuda! O Rafael já havia respondido, mas sempre bacana ver que o pessoal do grupo realmente se ajuda em questões, simples, e tbm nas mais complexas. Mais uma vez obirgado.
Abraço
Boa tarde a todos! Pois bem, tentei executar a funções que foi passada, mas o que acontece, é que eu talvez não tenha entendido o procedimento.
Yuri, eu preciso criar uma tabela real, em .xls para fazer este mapeamento, ou somente crio um script no carregamento de dados e coloco o Mapping?
E na tabela onde eu quero fazer a troca, onde eu coloco o código do ApplyMap? Tentei em vários locais, mas da erro. tenho da seguinte forma montado: OBS: se eu não por "," no fim do código ele apresenta erro e nem continua o carregamento.
Filipe, pode ser feito via LOAD INLINE (Criação de uma tabela pelo próprio QlikView) ou por planilha excel, tabela de banco etc.
A tabela de mapping precisa ter somente duas colunas, sendo a primeira o "De" (origem) e a segunda o "Para" (destino).
Lembre-se de colocar o nome da tabela! Este é necessário para indicar qual a tabela de mapping vai utilizar no ApplyMap.
Olhando a imagem me parece que você esqueceu de colocar o nome da tabela de mapping e faltou uma virgula após finalizar o comando ApplyMap.
Bhaaa Yuri.. cara.. entendi só agora. Eu estava apanhando aqui. O que aconteceu é o seguinte:
Eu fiz todo o procedimento correto, só que eu ficava testando a "troca" do "código" pela palavra que eu escolhia na tabela de origem!! Mas o que acontece é que o "Mapping LOAD" gera a própria tabela, e lá que eu vou encontrar a coluna original com o código e a mesma já com as palavras que eu determinei trocar.
Agora sim, compreendi. Testei tbm utilizando
LOAD *inline tbm funciona
Só um detalhe trocar o vermelho, pelo nome da caoluna que vc criou la no mapping
ApplyMap('DescricaoHeader', [Header 3], 'Não Encontrado') as DescricaoHeader
Valeu, e obrigado pelas dicas!
Tranquilo Filipe!!