A limpeza de textos é uma etapa essencial no processamento de dados, especialmente quando se trabalha com grandes volumes de informações inconsistentes. Uma tarefa comum é a remoção de espaços consecutivos e outros caracteres indesejados que podem atrapalhar a análise. Para resolver isso de forma eficiente, criamos a função personalizada chamada fc_texclean
no Power Query.
Principais Recursos da fc_texclean
:
- Remoção de Espaços Consecutivos:
- Reduz qualquer sequência de espaços (independente do tamanho) para um único espaço.
- Garante que o texto final seja visualmente e semanticamente limpo.
- Recursão Controlada:
- Utiliza um limite de até 100 iterações para evitar problemas de desempenho ou estouro de pilha.
- Tratamento Seguro de Erros:
- Com o uso de
try...otherwise
, a função retorna o texto original caso algum erro inesperado aconteça.
- Com o uso de
- Flexibilidade:
- Pode ser aplicada diretamente em colunas no Power Query, facilitando a integração com qualquer projeto.
O Código da Função fc_texclean
:
let
getTexto = (pTexto as text, interacao as number) =>
let
T1 = Text.Clean(Text.Trim(Text.Combine(List.Select(Text.Split(Text.Trim(pTexto), " "), each _ <> ""), " "))),
T2 = if Text.Contains(T1, " ") and interacao < 100 then @getTexto(T1, interacao + 1) else T1
in
try T2 otherwise pTexto
in
(pTexto) => getTexto(pTexto, 0)
Como a Função Funciona?
- Entrada Inicial (
pTexto
):- A função recebe um texto como entrada, por exemplo,
"QUADRA33 LOTE 770"
.
- A função recebe um texto como entrada, por exemplo,
- Etapa de Limpeza (
T1
):- Remove espaços no início e no final com
Text.Trim
. - Divide o texto em uma lista usando
Text.Split
. - Remove elementos vazios da lista com
List.Select
. - Recombina os elementos restantes com um único espaço, usando
Text.Combine
.
- Remove espaços no início e no final com
- Recursão (
T2
):- Verifica se ainda existem espaços consecutivos no texto com
Text.Contains
. - Se houver, a função chama a si mesma até que não haja mais espaços consecutivos ou o limite de 100 iterações seja atingido.
- Verifica se ainda existem espaços consecutivos no texto com
- Fallback de Segurança:
- Caso ocorra um erro, a função retorna o texto original, garantindo robustez.
- Saída Final:
- Retorna um texto limpo e padronizado.
Exemplo de Uso:
Entrada:
"QUADRA33 LOTE 770"
Saída:
"QUADRA33 LOTE 770"
Como Implementar no Power Query:
- Abra o Power Query no Excel ou Power BI.
- Clique em Início > Avançado > Nova Consulta.
- Cole o código da função
fc_texclean
. - Aplique a função em uma coluna:
- Adicione uma Coluna Personalizada.
- Use a fórmula: fc_texclean([SuaColuna])
Vantagens da fc_texclean
:
- Eficiente: Funciona de forma iterativa para garantir a remoção de todos os espaços consecutivos.
- Segura: Evita estouros de pilha e trata erros de maneira elegante.
- Prática: Pode ser reutilizada em qualquer projeto no Power Query, bastando importar o código.
Conclusão
A função fc_texclean
é uma solução poderosa e simples para quem trabalha com limpeza de dados no Power Query. Com ela, você garante que seus textos estarão sempre padronizados, economizando tempo e evitando problemas durante a análise. Experimente e veja como sua limpeza de dados pode se tornar muito mais eficiente!
– essa foi mais uma dica do Ornit 😉.
Deixe um comentário