Qlik Community

Qlik Brasil

Announcements
If you cannot see content in your group, clear your cache on all browsers. DM any issues to Sue_Macaluso.
cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Not applicable

Remover Acentos No Qlikview

Olá Pessoal, estou aqui para demonstrar uma forma simples de resolver um problema bem comum quando trabalhamos múltiplas fontes de dados: como remover acentos no Qlikview.

O cenário é bem típico. Eu tenho uma aplicação que mistura dados de múltiplas fontes de dados, incluindo um banco de dados Oracle e planilhas em Excel. O problema é que o nome das Cidades na base Oracle está acentuado e no Excel nem sempre. Então como igualar para poder realizar um link/join entre as informações.

A solução é bem simples. Vamos utilizar a função MapSubString. Esta função utiliza uma tabela com dois campos para executar uma substituição do tipo DE -> PARA, carácter a carácter.

mapsubstring(‘mapname’, expr)

Antes de utilizar a função MapSubString temos que carregar nossa tabela de conversão de caracteres. Bom vou dar uma colher de chá e publicar a que estou utilizando. Ela está bem completa, mas se precisar incluir mais uma conversão, fique a vontade, é só incluir uma nova linha. Segue o LOAD da tabela abaixo:

RemoveAcento_Map:

Mapping

LOAD * INLINE [

F1, F2

Š, S

š, s

Ž, Z

ž, z

À, A

Á, A

Â, A

Ã, A

Ä, A

Å, A

Æ, A

Ç, C

È, E

É, E

Ê, E

Ë, E

Ì, I

Í, I

Î, I

Ï, I

Ñ, N

Ò, O

Ó, O

Ô, O

Õ, O

Ö, O

Ø, O

Ù, U

Ú, U

Û, U

Ü, U

Ý, Y

Þ, B

ß, B

à, a

á, a

â, a

ã, a

ä, a

å, a

æ, a

ç, c

è, e

é, e

ê, e

ë, e

ì, i

í, i

î, i

ï, i

ð, o

ñ, n

ò, o

ó, o

ô, o

õ, o

ö, o

ø, o

ù, u

ú, u

û, u

ý, y

ý, y

þ, b

ÿ, y

];

Um pouco grande certo? Bom espero que ajude.

Continuando com nosso exemplo eu fiz uma pequena aplicação. Primeiro criei uma pequena tabela de nomes ao qual dei o nome de NOMES:

NOMES:

LOAD * INLINE [

NOME_NORMAL

Luiz Otávio

Pedro Miguel

William

Ícaro

Giovanni

João Paulo

Kauê

Maitê

Eloá

Lívia

];

Logo em seguida eu utilizo a função MapSubString para remover os acentos. O primeiro parâmetro da função MapSubString é o nome da tabela DE -> PARA que apresentei acima. O segundo é o campo onde os caracteres serão substituídos. Vejamos:

LOAD

NOME_NORMAL,

MapSubString('RemoveAcento_Map', NOME_NORMAL) as NOME_SEM_ACENTO

Resident NOMES;

O Resultado pode ser visto na imagem abaixo:

Resultado da remoção de acentos

Se quiserem colocar em caixa alta (maiúscula) é só colocar um Upper antes do MapSubstring:

LOAD

NOME_NORMAL,

Upper(MapSubString('RemoveAcento_Map', NOME_NORMAL)) as NOME_SEM_ACENTO

Resident NOMES;

Bem é isso, espero que tenham gostado e que este post seja útil. Até breve e mandem seus comentários!

Segue o Código de Exemplo: http://wallace-prado.com.br/wp-content/uploads/2014/08/RemoverAcentos.zip

Tags (1)
Labels (1)
5 Replies
Highlighted

Re: Remover Acentos No Qlikview

Isso ae !

Highlighted
Contributor III
Contributor III

Re: Remover Acentos No Qlikview

Muito bom o Artigo wallace.prado‌. Não conhecia a função MapSubString.

Apenas uma sugestão para otimizar essa tradução.

Coloquei na tabela de Mapeamento de Acentos, apenas os caracteres em maíusculo, e no local onde a função vai ser utilizada, usar o UPPER antes, ficando da seguinte forma:


MapSubString('RemoveAcento_Map', UPPER(NOME_NORMAL)) as NOME_SEM_ACENTO


Assim a tabela de acentos fica com metade do tamanho, e para um grande volume de dados na tabela de aplicação, a busca pela troca de caracteres levaria metade do tempo!

Um abraço!

Highlighted
Creator
Creator

Re: Remover Acentos No Qlikview

Obrigado por compartilhar, muito útil !

Vou precisar de usar em vários lugares, criei um .qvs e estou inserindo via "Arquivo de Script", existe outra alternativa ? criando uma função/módulo? queria reaproveitar o código.

Highlighted
Contributor III
Contributor III

Re: Remover Acentos No Qlikview

Olá,

Muito bom cara, vai ser muito útil nos projetos aqui.

Obrigado por compartilhar.

Abs,

Highlighted
Contributor II
Contributor II

Re: Remover Acentos No Qlikview

Excelente, bem o que estava procurando!