top of page

Função da Categoria Text - Parte 1

12 de jun.
5 min de leitura

Atualizado: 5 de ago.


As funções de Texto na Linguagem M (no Power Query), 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 de Dados), 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.



rPara seguir os exemplos propostos, baixe o aquivo Excel localizado no link abaixo:






Caso não tenha 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, através da Linguagem M, são utilizadas para tratar e transformar 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


Ícone do POWER  BI
Ícone do POWER BI

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


Tela: Abrir arquivo novo
Tela: Abrir arquivo novo

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


Tela: Inicial para Criação do Painel
Tela: Inicial para Criação do Painel

O próximo passo é importar os dados da base disponibilizada no início desse artigo, uma pasta Excel chamada EstudoSobreFuncoes.


2 - Para importar os dados dessa base, clicando no botão "Pasta de Trabalho do Excel", como destacado na tela abaixo:


Tela: Importar Dados da Pasta de Trabalho do Excel
Tela: Importar Dados da Pasta de Trabalho do Excel

Para realizar a importação, siga os passos abaixo:


3 - Clique no botão Pasta de Trabalho do Excel, destacado na imagem abaixo.


Tela: Importar Dados da Pasta de Trabalho do Excel
Tela: Importar Dados da Pasta de Trabalho do Excel

4 - Na tela que será apresentada, selecione a pasta Excel "EstudosSobreFuncoes" e clique no botão Abrir, como destacados na tela abaixo:



5 - Na próxima tela selecione a tabela CPF que usaremos em nosso exemplo, pasta "EstudoSobreFuncoes", e clique no botão "Transformar Dados". Observe a tela abaixo:


Tela: Selecionar Tabela e Carregar Transformar Dados
Tela: Selecionar Tabela e Carregar Transformar Dados

6 - Na tela abaixo apresentamos a tela do POWER BI


Tela: Apresentação da Tela do POWER QUERY
Tela: Apresentação da Tela do POWER QUERY

7 - Agora vamos renomear a tabela CPF para TabCPF, conforme apresentado na tela abaixo.


Tela: Renomear Tabela
Tela: Renomear Tabela

A partir de agora vamos iniciar o processo de ETL, utilizando recursos do Power Query e funções da Linguagem M


8 - Inicialmente temos que que tipificar a coluna CPF como Texto. Para isso clique no botão ABC123 localizado a esquerda do nome da coluna(ou campo) e, em seguida, selecione o tipo TEXTO, conforme destacado na imagem abaixo:


Tela: Tipificando Campo CPF
Tela: Tipificando Campo CPF

Agora vamos remover os caracteres que estão separando os números, deixando-os fora de qualquer padrão.


9 - Selecione a aba Transformar, depois clique no botão "Transformar Valores"


Tela: Substituir Valores
Tela: Substituir Valores

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


Tela: Substituir Valores
Tela: Substituir Valores

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


Tela: Substituir Ponto
Tela: Substituir Ponto

Tela: Substituir Virgula
Tela: Substituir Virgula

Tela: Subtituir Barra
Tela: Subtituir Barra

Tela: Subtituir Hifem
Tela: Subtituir Hifem

Observe como ficaram os CPFs:



A seguir apresentaremos algumas funções do grupo TEXT, tendo como objetivo formatar os CPFs:


Para exemplificar vamos adicionar colunas. Esse processo, de criação de colunas, será repetitivo.


Uma conferência interessante antes da formatação é veriificar se todos os CPFs estão completos, com mesmo número de caracteres (11).


Para isso podemos contar o número de caracteres em cada CPF.


11 - Clique na aba "Adicionar Colunas", em seguida no botão "Colunas Personalizadas".


Observe a imagem abaixo:


Tela: Adicionar Coluna
Tela: Adicionar Coluna

Em seguida será apresentada uma tela para a inclusão da fórmula, conforme apresentado na tela a seguir.


12 - Nessa tela inclua o nome da nova coluna: "Número de Caracteres"


13 - Utilize a função abaixo:


Função: Text.Length( )

Objetivo: Retornar o resultado da extração de 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


Tela: Acrescetar Coluna reornando o número de caracteres por linha
Tela: Acrescetar Coluna reornando o número de caracteres por linha

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


Tela: Nova Coluna Número de de Caracteres
Tela: Nova Coluna Número de de Caracteres

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


Tela: Resultado da Aplicação da função Text.Start()
Tela: Resultado da Aplicação da função Text.Start()

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.


Tela: Tipificar Coluna
Tela: Tipificar Coluna

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


Tela: Criação da Coluna Caracteres do Meio, utilizando a função Text.Middle()
Tela: Criação da Coluna Caracteres do Meio, utilizando a função Text.Middle()

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


Tela: Criação da Coluna Caracteres do Meio, utilizando a função Text.Middle()
Tela: Criação da Coluna Caracteres do Meio, utilizando a função Text.Middle()

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


Tela: Colunas de Caracteres a Direita com uso da função Text.End()
Tela: Colunas de Caracteres a Direita com uso da função Text.End()

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]


Tela: Resultado do CPF formatado
Tela: Resultado do CPF formatado

Após criar a coluna, devemos tipificar a coluna para texto como feito em todas as anteriores.


Veja o resultado final na tela abaixo:


Tela: Resultado com CPF Formatado
Tela: Resultado com CPF Formatado

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)


Tela: CPF Formato de forma direta, apenas com uso de fórmula em uma única coluna
Tela: CPF Formato de forma direta, apenas com uso de fórmula em uma única coluna

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


Learn BI Academy - Consultoria e Treinamento
Rua Dionísio Erthal, 69 - Santa Rosa - Niterói - RJ
learnbitraining@gmail.com
Tel.: 21-9-8825-2737

© 2020 por Marcelo Puentes.

bottom of page