top of page

Remover espaços e acentos Power Query

Atualizado: 10 de abr.



Para criar uma função utilizando a linguagem M dentro do Power Query dentro do Excel ou do Power BI:


🚦Power BI: Para abrir o Power query dentro do Power bi clique em "Página Inicial" | "Transformar dados"


🚦Excel: Para abrir o Power query dentro do Excel clique em "Dados" | "Obter Dados" | "Iniciar Editor do Power Query". Lembrando que este acesso pode variar de acordo com a versão do Excel que você esta utilizando. Eu estou utilizando a versão do office 365.

E lembrando também que o Power Query foi lançado em 2013 como uma parte do Excel e posteriormente foi integrado a outras ferramentas da Microsoft, como Power BI e SQL Server Integration Services (SSIS).



Dentro do Power Query, em "Página Inicial" clique em em "Nova fonte", (Outras fontes), "consulta nula", "Editor Avançado" (clique com o botão direito) e cole o código abaixo.




▶️▶️ Criar função para remover espaço:



let

substituirEspacoUltimoCaractere = (texto as text) as text =>

let

textoSemEspaco = Text.Trim(texto),

ultimoCaractere = Text.End(textoSemEspaco, 1),

espacosEmBranco = Text.Length(texto) - Text.Length(textoSemEspaco),

textoSubstituido = Text.ReplaceRange(textoSemEspaco, Text.Length(textoSemEspaco) - espacosEmBranco + 1, espacosEmBranco, "")

in

textoSubstituido

in

substituirEspacoUltimoCaractere



Renomeie o nome, neste exemplo coloquei f_removerespaco



*********************************************************************************




▶️▶️ Criar função para remover acentos



(texto as text) =>

let

ComAcentos = Text.ToList("àáâãäèéêëìíîïòóôõöùúûüÀÁÂÃÄÈÉÊËÌÍÎÒÓÔÕÖÙÚÛÜçÇñÑ"),

SemAcentos = Text.ToList("aaaaaeeeeiiiiooooouuuuAAAAAEEEEIIIOOOOOUUUUcCnN"),

ParesAcentos = List.Zip({ComAcentos, SemAcentos}),

TextoQuebrado = Text.ToList(texto),

Substituicao = List.ReplaceMatchingItems(TextoQuebrado, ParesAcentos),

Resultado = Text.Combine(Substituicao)

in

Resultado




*********************************************************************************



✅ Utilizando as funções criadas


Para utilizar as funções criadas em qualquer tabela, clique na própria tabela, na guia superior, clique em "Adicionar Coluna" "Invocar Função Personalizada".



Dê um nome para a coluna nova que será criada com a função que você selecionou, sendo aplicada.

Repita este processo para a outra função, e depois exclua as colunas adicionais mantendo apenas uma coluna que neste exemplo será o nome.



Uma outra forma de utilizar as duas funções em uma única vez, é adicionar uma coluna personalizada na guia de "Adicionar Coluna", "Coluna Personalizada"




Table.AddColumn(#"Tipo Alterado", "nome_corrigido", each f_removeracentos(f_removerespaco([NOME])))


Tipo Alterado -> Última etapa aplicada em que a base é carregada em formato de tabela

nome_corrigido -> Novo nome para a coluna que será adicionada

[NOME] -> Nome da coluna original que quero aplicar as funções

f_removeracentos -> Função criada para remover acentos

f_removerespaco -> Função criada para remover espaços



*********************************************************************************


✅ Exemplo para criar uma função simples


-> Criar uma função qualquer com número ao quadrado ( o número x ele mesmo):


Primeiro crio uma variável chamada num e declaro que ele será um número. Então se num recebe 4, a função será 4 x 4 que terá como resultado 16.




= (num as number) as number =>


let

aoQuadrado = num*num

in

aoQuadrado

bottom of page