Coluna de Data no Power Query do Excel Muda de Tipo Após Atualizar: Correção
🔍 WiseChecker

Coluna de Data no Power Query do Excel Muda de Tipo Após Atualizar: Correção

Você atualiza uma consulta do Power Query no Excel e uma coluna de data de repente mostra números ou texto em vez de datas. Isso acontece porque o Power Query reavalia o tipo de dados da coluna com base nas primeiras mil linhas dos novos dados de origem. Se essas linhas contiverem valores não numéricos ou células em branco, o Power Query pode inferir um tipo diferente. Este artigo explica por que o tipo muda e fornece uma correção permanente para fixar o tipo da coluna de data, garantindo que ele permaneça consistente após cada atualização.

Principais Conclusões: Fixe o Tipo da Coluna de Data no Power Query

  • Editor do Power Query > Transformar > Tipo de Dados > Data: Define manualmente a coluna como tipo Data, mas pode ser redefinido na atualização se os dados de origem forem inconsistentes.
  • Editor do Power Query > Adicionar Coluna > Coluna Personalizada com Date.From: Cria uma coluna calculada que sempre retorna um valor de data, ignorando alterações de tipo na origem.
  • Editor do Power Query > Substituir Etapa Atual por Table.TransformColumnTypes: Edita o código M para forçar o tipo em cada atualização, mesmo quando os dados de origem variam.

ADVERTISEMENT

Por que o Power Query Altera o Tipo da Coluna de Data Após a Atualização

O Power Query usa um recurso chamado detecção de tipo. Quando você carrega os dados pela primeira vez, ele amostra as primeiras 1.000 linhas para inferir o tipo de dados de cada coluna. Se sua coluna de data tiver uma data na primeira linha, o Power Query define o tipo como Data. Após uma atualização, os dados de origem podem ter mudado. Por exemplo, uma nova linha no topo pode conter uma célula em branco ou um valor de texto como “N/A”. O Power Query amostra novamente e pode atribuir um tipo diferente, como Texto ou Qualquer. Isso faz com que a coluna exiba números ou texto em vez de datas.

Outra causa comum é uma consulta mesclada ou anexada onde as tabelas de origem têm estruturas de coluna diferentes. Se uma tabela tem uma coluna Data e outra tem uma coluna Texto com strings semelhantes a datas, o Power Query pode unificar o tipo para Texto. O mesmo problema ocorre ao importar dados de arquivos CSV ou bancos de dados onde o tipo da coluna não está explicitamente definido.

O problema raiz é que o Power Query reavalia os tipos a cada atualização, a menos que você force um tipo específico no código M. Simplesmente clicar no ícone de Data no editor nem sempre fixa o tipo permanentemente. Você precisa alterar como o tipo é aplicado nas etapas da consulta.

Passos para Fixar o Tipo da Coluna de Data Permanentemente

O método a seguir usa uma coluna personalizada com a função Date.From para garantir que a coluna sempre contenha valores de data. Essa abordagem funciona mesmo se os dados de origem tiverem espaços em branco ou texto na coluna de data.

  1. Abra o Editor do Power Query
    No Excel, selecione sua consulta no painel Consultas e Conexões. Clique com o botão direito na consulta e escolha Editar. A janela do Editor do Power Query será aberta.
  2. Adicione uma Coluna Personalizada
    Vá para a guia Adicionar Coluna na faixa de opções. Clique em Coluna Personalizada. Na caixa de diálogo, insira um nome para a nova coluna, como “DataCorrigida”. Na caixa de fórmula, insira Date.From([NomeDaSuaColunaDeData]). Substitua NomeDaSuaColunaDeData pelo nome real da sua coluna de data. Clique em OK.
  3. Remova a Coluna de Data Original
    Selecione a coluna de data original clicando em seu cabeçalho. Clique com o botão direito e escolha Remover. A nova coluna agora contém os valores de data.
  4. Defina o Tipo de Dados da Nova Coluna
    Clique no ícone de tipo de dados ao lado do cabeçalho da coluna. Escolha Data na lista suspensa. Esta etapa é opcional, mas ajuda o Excel a exibir os valores corretamente.
  5. Feche e Carregue a Consulta
    Vá para a guia Página Inicial e clique em Fechar e Carregar. A consulta é atualizada e carrega os dados no Excel. A coluna de data agora usa a função Date.From em cada atualização.

Método Alternativo: Editar o Código M Diretamente

Se preferir manter o nome original da coluna, você pode editar o código M para forçar o tipo. No Editor do Power Query, vá para a guia Exibir e clique em Editor Avançado. Encontre a etapa que define o tipo da coluna. Ela se parece com Table.TransformColumnTypes(#"Etapa Anterior",{{"ColunaData", type date}}). Substitua type date por Date.Type e adicione uma expressão try para lidar com erros. Uma versão mais segura é:

Table.TransformColumnTypes(#"Etapa Anterior",{{"ColunaData", each Date.From(_), type date}})

Este código instrui o Power Query a converter a coluna usando Date.From e depois definir o tipo como data. Ele substitui a detecção automática de tipo.

ADVERTISEMENT

Se a Coluna de Data Ainda Mudar de Tipo Após a Correção

O Power Query Mostra um Erro ao Usar Date.From

Se os dados de origem contiverem valores que não podem ser convertidos em data, a função Date.From retorna um erro. Para lidar com isso, use try Date.From([ColunaData]) otherwise null na fórmula da coluna personalizada. Isso retorna nulo para valores inválidos em vez de quebrar a consulta.

O Tipo da Coluna é Redefinido para Texto Após Mesclar Consultas

Ao mesclar duas consultas, o Power Query pode unificar o tipo da coluna mesclada para Texto. Aplique a etapa de coluna personalizada após a operação de mesclagem. No Editor do Power Query, selecione a etapa após a mesclagem e adicione a coluna personalizada. Isso garante que a conversão de data seja executada no conjunto de dados final.

O Power Query Altera Automaticamente o Tipo na Importação de CSV

Ao importar arquivos CSV, o Power Query pode interpretar colunas de data como Texto se as primeiras 1.000 linhas contiverem células vazias. Use a guia Transformar e selecione Detectar Tipo de Dados após aplicar a coluna personalizada. Alternativamente, altere as configurações de importação para Detecção de Tipo de Dados > Não detectar tipos de dados na guia Página Inicial do Editor do Power Query antes de carregar.

Configuração Manual de Tipo vs Coluna Personalizada com Date.From: Principais Diferenças

Item Configuração Manual de Tipo Coluna Personalizada com Date.From
Como funciona O Power Query define o tipo da coluna com base nas primeiras 1.000 linhas O Power Query converte cada linha usando a função Date.From
Estabilidade na atualização Pode mudar se os dados de origem variarem Sempre retorna uma data ou nulo
Tratamento de erros O Power Query pode alterar o tipo para Texto se encontrar valores não numéricos Você pode adicionar try/otherwise para lidar com valores inválidos
Desempenho Rápido, sem cálculo extra Ligeiramente mais lento devido à conversão linha por linha
Melhor para Dados de origem estáveis, sem espaços em branco ou texto na coluna de data Dados de origem instáveis, consultas mescladas ou importações CSV

Agora você pode corrigir uma coluna de data que muda de tipo após a atualização no Power Query. Comece adicionando uma coluna personalizada com Date.From e removendo a coluna original. Se aparecerem erros, adicione try e otherwise null à fórmula. Para controle avançado, edite o código M diretamente com Table.TransformColumnTypes e uma função personalizada. Como próximo passo, explore a documentação de Table.TransformColumnTypes para aprender como aplicar a fixação de tipo a várias colunas de uma vez.

ADVERTISEMENT