Função da Categoria Text - Parte 1
- Marcelo Puentes
- há 4 dias
- 5 min de leitura
As funções de Texto no Power Query (linguagem M) servem para limpar, padronizar, tratar, extrair, modificar, combinar e manipular dados em formato de texto dentro das suas bases de dados. Elas são essenciais na etapa de ETL (Extração, Transformação e Carga), permitindo corrigir erros de digitação, padronizar formatos e preparar informações para relatórios.
Neste artigo abordaremos funções do grupo Text.
Assista o vídeo abaixo, onde explicaremos e exemplificaremos as funções desse artigo.
Para seguir os exemplos propostos, baixe o aquivo Excel localizado no link abaixo:
Caso não tenhs o POWER BI Desktop instalado sua máquina, baixe-o atráves do botão abaixo:
Funções do Grupo TEXT
As funções do grupo Text, disponíveis no ambiente do Power Query, são utilizadas para tratar e transforma dados do tipo Texto.
Importante: O ambiente do Power Query é o local onde fazemos o processo de ETL, isto é, extraímos os dados do ambiente original, o tratamento dos dados e fazemos carga dos dados tratados no ambiente do Power BI.
Vamos ver algumas funções do grupo Text. Para isso abra uma instância do POWER BI clicando no ícone do POWER BI, criado após a instalação

Após abrir o Power BI, será apresentada a tela abaixo:

Clique no botão em destaque (Relatório em Branco), e a tela abaixo será apresentada:

O próximo passo é importar os dados da base baixada no início desse artigo, uma pasta Excel chamada EstudoSobreFuncoes.
Para importar os dados dessa base, clicando no botão "Pasta de Trabalho do Excel", como destacado na tela abaixo:

Para realizar a importação, siga os passos abaixo
1 - Clique no botão destacado na imagem acima: Pasta de Trabalho do Excel
2 - Na tela que será apresenta, selecione a pasta Excel "EstudosSobreFuncoes" e clique no botão Abrir, como apresentada na tela abaixo:

3 - Na próxima tela selecione a tabela que usaremos em nosso exemplo, e clique no botão "Tranformar Dados". Observe a tela abaixo:

4 - Na tela abaixo apresentamos a tela do POWER BI

5 - Agora vamos renomear a tabela CPF para TabCPF. Observe a tela abaixo.

A partir de agora vamos iniciar o processo de ETL, utilizando recursos do Power Query e funções da Linguagem M
6 - Inicialmente temos que que tipificar a coluna CPF como Texto. Para isso clique no botão ABC123 localizado a esquerda do nome do campo, como destacado na imagem abaixo:

Agora vamos remover os caracteres que estão separando os números, fora do padrão.
7 - Clique selecione a aba Tranformar, depois clique no botão "Tranformar Valores"

8 - Vamos substitui os valores atuais ("/", "." , "," , "-"), por nenhum valor. Observe a tela abaixo:

Esse processo será repetido várias vezes, até que sejam removidos todos os caracteres não numéricos. Observe as telas abaixo:




Observe os como ficaram os CPFs

Abaixo, algumas funções do grupo TEXT:
Para exemplificar vamos adicionar colunas. Esse processo será repetitivo.
Uma conveferência interessante antes da formatação é veriificar se todos os CPFs estão completos com 11 caracteres.
Para isso podemos contar o número de caracteres em cada CPFs.
9 - Clique na aba "Adicionar Colunas", em seguida no botão "Colunas Personalizadas". Observe a imagem abaixo:

Em seguida será apresentada uma tela para a inclusão da fórmula, conforme apresentado na tela a seguir.
10 - Nessa tela inclua o nome da nova coluna: "Número de Caracteres"
11 - Utilize a função abaixo:
Função: Text.Length( )
Objetivo: Retornar o resultado da extração e um número de caracteres, iniciando sempre da esquerda para direita.
Sintaxe: Text.Length(String)
Exemplo: Retornar o número de caracteres de cada linha da coluna CPFs
Text.Length([CPFs]) -> Retorna 11

Após acrescentar a coluna Número de Caracteres, o resultado será o como paresentado na imagem abaixo:

12 - Agora vamos pegar os três primeiros caracteres do CPF. Para isso utilize a função abaixo:
Função: Text.Start( )
Objetivo: Retornar o resultado da extração e um número de caracteres, iniciando sempre da esquerda para direita.
Sintaxe: Text.Start(String,n)
Exemplo: Retornar os 3 primeiros caracteres do CPF 12345678910
Text.Start([CPFs],3) -> Retorna 123

13 - Para tipificar a coluna como texto (isso será importante mais a frente), selecione a coluna "Caracteres a Esquerda", selecione a aba "Transformar", e clique no botão "Tipo de Dados", e selecione a opção Texto.

14 - Agora vamos ao outro passo, que é pegar os próximos 3 caracteres a partir dos três primeiros caracteres já pegos etapa anterior. Para isso usaremos a função abaixo.
Função: Text.Middle( )
Objetivo: Retornar o resultado da extração e um número de caracteres, iniciando sempre da esquerda para direita.
Sintaxe: Text.Middle(String,n)
Exemplo01: Retornar os 3 próximos caracteres do CPF 12345678910
Text.Middle([CPFs],3,3) -> Retorna 456
Após criar a coluna devemos tipifica-la como Texto, como fizemos na coluna anterior

15 - Agora vamos extrair os próximos 3 caracteres (7,8 e 9), utilizando a mesma função Text.Middle().
Exemplo02: Retornar os 3 próximos caracteres do CPF 12345678910
Text.Middle([CPFs],6,3) -> Retorna 789

16 - Agora precisamos coletar os dois últimos caracteres. Para isso vamos utilizar a função abaixo:
Função: Text.End( )
Objetivo: Retornar o resultado da extração e um número de caracteres, iniciando sempre da esquerda para direita.
Sintaxe: Text.End(String,n)
Exemplo01: Retornar os 2 últimos caracteres do CPF 12345678910
Text.End([CPFs],2) -> Retorna 10

A partir de agora vamos concaternar as colunas criadas, separando-as por ponto (.) e traço / hífem (-).
Para concatenar utilizaremos o caracter &, conforme o abaixo:
Nome ca Coluna: CPF Formatado - Colunas
Fórmula ou Expressão: [Caractares a Esquerda] & "." & [Caracteres do Meio 4 a 6] & "." & [Caracteres do Meio 7 a 9] & "-" & [Caracteres a Direita]

Após criar a coluna, devemos tipificar a coluna para texto como feito em todas as anteriores.
Veja o resultado final na tela abaixo:

Após obter esse conhecimento podemos resolver esse problema de forma mais rápida e objetiva, com uma única fórmula. Veja a baixo:
Nome da Coluna: CPF Formatado - Função
Fórmula: Text.Start([CPFs],3) & "." &
Text.Middle([CPFs],3,3) & "." &
Text.Middle([CPFs],6,3) & "-" &
Text.End([CPFs],2)

Gostou? Deixe seus comentários. Se torne membro do nosso canal no YouTube e nos siga em nossas redes sociais.
Grande abraço.
Até o próximo artigo.


Comentários