Power BI · 2026-10-18

Dividir coluna no Power Query: códigos sem perder dados

Aprenda a dividir coluna no Power Query com delimitador definido e testes. Preserve códigos, confira exceções e evite multiplicar valores ao gerar linhas.

Dividir coluna no Power Query: códigos sem perder dados

Dividir coluna no Power Query: preserve o significado

Para dividir coluna no Power Query com segurança, defina qual informação está sendo separada e como o delimitador aparece no texto. Um hífen pode ligar código e descrição, mas também fazer parte do próprio nome do produto. Separar em todas as ocorrências sem conferir o padrão pode destruir o significado recebido.

Este roteiro utiliza cadastros hipotéticos de produtos, preservando o texto original e criando uma regra de conferência. A meta é obter campos utilizáveis para associação e leitura, sem transformar dados incompletos em códigos aparentemente válidos. Cada exceção precisa continuar rastreável à linha recebida.

1. Defina o contrato antes de dividir coluna no Power Query

Escreva o formato esperado em uma frase. No exemplo, o campo Cadastro contém código, espaço, hífen, espaço e descrição; apenas a primeira ocorrência dessa sequência separa as duas partes. Hífens posteriores pertencem à descrição, por isso o delimitador e sua posição fazem parte da regra de interpretação.

Confirme esse padrão com quem exporta a base e reúna exemplos de nomes que contêm sinais parecidos. Um campo que alterna código antes e depois da descrição não possui uma única regra confiável. Se a fonte mistura padrões, identifique as origens ou negocie a separação na exportação antes de automatizar o tratamento.

2. Guarde identificação e texto original

Inclua uma chave de linha e preserve Cadastro antes da transformação. A função Table.DuplicateColumn copia uma coluna, permitindo aplicar a divisão em uma cópia. No exemplo, mantemos Cadastro e utilizamos CadastroParaDividir como campo temporário para gerar código e descrição.

A chave de linha deve continuar disponível depois da separação. Ela permite conferir se uma exceção veio de determinado arquivo e registro. Evite criar a identificação somente após remover linhas problemáticas, pois isso dificulta relacionar a saída da consulta com o material recebido e explicar quais casos ficaram fora do modelo.

3. Escolha delimitador, posição e destino da divisão

A documentação de divisão por delimitador apresenta a opção no editor do Power Query. Selecione a coluna, abra Dividir Coluna e escolha Por Delimitador. Para o nosso caso, utilize a sequência espaço-hífen-espaço, a ocorrência mais à esquerda e a saída em colunas.

Confira essas escolhas em uma amostra antes de aplicar à base inteira. Dividir pelo caractere hífen isolado não é equivalente a dividir pela sequência com espaços. Do mesmo modo, escolher todas as ocorrências poderia criar campos adicionais a partir de partes legítimas da descrição, alterando a estrutura esperada da tabela.

4. Monte um exemplo em M com resultado conhecido

A linguagem M descreve as transformações do Power Query. Neste exemplo, Table.SplitColumn utiliza um separador criado por Splitter.SplitTextByEachDelimiter. A lista contém um delimitador e a leitura começa pelo início, para separar somente a primeira fronteira prevista.

let
    Fonte = #table(
        type table [Linha = text, Cadastro = text],
        {
            {"A", "001 - Kit - Azul"},
            {"B", "002 - Unidade"}
        }
    ),
    Copia = Table.DuplicateColumn(
        Fonte, "Cadastro", "CadastroParaDividir"
    ),
    Separada = Table.SplitColumn(
        Copia,
        "CadastroParaDividir",
        Splitter.SplitTextByEachDelimiter(
            {" - "}, QuoteStyle.None, false
        ),
        {"Codigo", "Descricao"}
    )
in
    Separada

Espere código 001 e descrição Kit - Azul na linha A. Na linha B, espere código 002 e descrição Unidade. O texto original permanece disponível nas duas linhas. Esse gabarito é importante: a descrição da primeira linha precisa conservar o segundo hífen para demonstrar que a regra escolheu a fronteira correta.

5. Preserve códigos como texto

Declare Codigo como texto ao finalizar a preparação. Os zeros iniciais de 001 podem fazer parte da identificação e não devem desaparecer por uma conversão numérica automática. Uma coluna formada por algarismos pode funcionar como chave cadastral, sem representar uma quantidade que deva ser somada ou calculada.

Antes de conectar o campo a outra tabela, compare códigos conhecidos dos dois lados. Confirme comprimento, espaços e tratamento de letras conforme o cadastro do negócio. O roteiro de mesclagem no Power Query ajuda a conferir o vínculo sem presumir que textos visualmente parecidos representam a mesma entidade.

6. Teste ausência, repetição e partes vazias

Acrescente casos sem delimitador, com código vazio, com descrição vazia e com espaços adicionais. Defina o resultado esperado de cada um antes de executar a consulta. Um texto dividido em dois campos ainda pode estar inválido para o cadastro; a transformação estrutural não comprova que o conteúdo foi preenchido corretamente.

Table.SplitColumn usa nulo por padrão quando faltam partes para preencher as colunas de saída. Marque esses casos para revisão em vez de completar a descrição com o próprio código. Inclua também um indicador de conformidade do formato para separar registros que passaram no contrato daqueles que apenas produziram algum resultado técnico.

7. Diferencie saída em colunas e saída em linhas

A divisão em linhas, também documentada pela Microsoft, amplia o número de registros quando uma célula contém vários elementos. Ela pode ser adequada para uma lista de categorias, mas muda a granularidade da tabela. Antes de usá-la, defina se cada nova linha representa uma associação, um evento ou um componente real.

Em um exemplo hipotético, um pedido de cem reais recebe duas etiquetas em uma célula. Transformar as etiquetas em duas linhas e repetir o valor do pedido produziria duzentos reais em uma soma simples. Mantenha o fato financeiro separado da lista de associações, preservando uma chave que permita analisar as etiquetas sem duplicar a venda.

8. Trate aspas e delimitadores internos conforme a origem

O exemplo em M trata aspas como caracteres comuns, por usar QuoteStyle.None. Ele foi desenhado para um cadastro já importado com o padrão descrito. Se a fonte utiliza aspas para proteger delimitadores internos, prepare testes específicos e escolha um tratamento compatível com esse contrato, antes de reutilizar a expressão apresentada.

Não aplique essa separação a um arquivo inteiro apenas porque ele também contém hífens ou vírgulas. Primeiro identifique os campos de origem, depois transforme a coluna desejada. Uma mudança na exportação deve ser tratada como alteração de contrato, principalmente quando pode deslocar o código para uma posição diferente sem gerar erro evidente.

9. Confira qualidade e tipos após a separação

Compare a quantidade de linhas antes e depois quando a saída for em colunas. Confira códigos distintos, campos vazios e exemplos com descrição longa. Use o perfil de dados para localizar padrões incomuns e separar uma exceção pontual de uma mudança mais ampla no conteúdo exportado.

Se uma parte extraída precisa virar data ou número, faça essa conversão em uma etapa explícita depois da divisão. Consulte a análise de localidade no Power Query para conferir a interpretação. Um campo corretamente separado pode continuar com significado numérico ou temporal incorreto se a conversão usar outro padrão.

10. Mantenha exceções disponíveis para correção

Crie uma saída de revisão com linha, arquivo, texto original e motivo da rejeição. Defina quem corrige o cadastro e como a mudança volta à origem. O roteiro de captura de erros com try pode complementar a organização de falhas técnicas, enquanto os testes de formato verificam o contrato do conteúdo.

Antes de liberar a consulta, execute novamente os exemplos válidos e inválidos e compare com o gabarito. Guarde a regra junto da transformação para que outra pessoa consiga reproduzir a conferência. A divisão bem controlada entrega campos utilizáveis e mantém visíveis os registros que ainda exigem uma decisão sobre seu significado.

Documentação técnica da Microsoft consultada em 18/10/2026.