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: 
Not applicable

Trocar Letras por palavras?

Olá pessoal, tudo bem? Tenho uma dúvida...

Tenho uma tabela, com diversos dados, do tipo:

Header 1Header 2Header 3Header 4
Cliente xpeçaB1
Cliente ypeçaA3
Cliente zmaquinaC1

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!

1 Solution

Accepted Solutions
rphpacheco
Creator III
Creator III

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!

View solution in original post

9 Replies
rphpacheco
Creator III
Creator III

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!

nicolett_yuri

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'

nicolett_yuri

Opa, não havia visto sua resposta!

Desculpe postar por cima

Not applicable
Author

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!

Not applicable
Author

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

Not applicable
Author

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.

Screen Shot 06-12-15 at 02.29 PM.PNG

Screen Shot 06-12-15 at 02.32 PM.PNG

nicolett_yuri

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.

Not applicable
Author

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!

nicolett_yuri

Tranquilo Filipe!!