Compartilhar via


Lidando com erros no Power Query

No Power Query, você pode encontrar dois tipos de erros:

  • Erros em nível de etapa
  • Erros no nível da célula

Este artigo fornece sugestões de como corrigir os erros mais comuns que você pode encontrar em cada nível e descreve o motivo do erro, a mensagem de erro e os detalhes do erro para cada um.

Erro de nível de etapa

Um erro de nível de etapa impede o carregamento da consulta e exibe os componentes de erro em um painel amarelo.

Captura de tela de um erro em nível de etapa em que uma coluna não foi encontrada.

  • Motivo do erro: a primeira seção antes dos dois-pontos. No exemplo anterior, o motivo do erro é Expression.Error.
  • Mensagem de erro: a seção diretamente após o motivo. No exemplo anterior, a mensagem de erro é A coluna 'Coluna' da tabela não foi encontrada.
  • Detalhes do erro: a seção diretamente após a cadeia de caracteres "Detalhes:". No exemplo anterior, o detalhe do erro é Column.

O Power Query Online exibe detalhes ligeiramente diferentes. O detalhe do erro ainda é Coluna, mas a mensagem de erro online também contém o motivo do erro (Expression.Error) e o código de erro (10224).

Captura de tela de um erro de etapa online onde uma coluna não foi encontrada.

Erros comuns em etapas

Em todos os casos, recomendamos que você examine de perto o motivo do erro, a mensagem de erro e os detalhes do erro para entender o que está causando o erro. Você pode selecionar o botão Mostrar detalhes , se disponível, para mostrar mais detalhes sobre o erro.

Captura de tela de uma mensagem de erro com o botão Mostrar detalhes enfatizado.

Não é possível localizar a fonte de dados – DataSource.NotFound

Esse erro geralmente ocorre quando a fonte de dados é inacessível pelo usuário, o usuário não tem as credenciais corretas para acessar a fonte de dados ou a fonte foi movida para um local diferente.

Exemplo: você tem uma consulta de um bloco de texto que foi localizado na unidade D e criado pelo usuário A. O usuário A compartilha a consulta com o usuário B, que não tem acesso à unidade D. Quando essa pessoa tenta executar a consulta, ela obtém um DataSource.NotFound porque não há unidade D em seu ambiente.

Captura de tela de um erro de fonte de dados que não conseguiu localizar o arquivo porque não há unidade D no ambiente atual.

Soluções possíveis: você pode alterar o caminho do arquivo de texto para um caminho ao qual ambos os usuários têm acesso. Como usuário B, você pode alterar o caminho do arquivo para ser uma cópia local do mesmo arquivo de texto.

A coluna da tabela não foi encontrada

Esse erro geralmente é disparado quando uma etapa faz uma referência direta a um nome de coluna que não existe na consulta.

Exemplo: você tem uma consulta de um arquivo de texto em que um dos nomes de coluna era Column. Em sua consulta, você tem uma etapa que renomeia essa coluna como Date. Mas houve uma alteração no arquivo de texto original e ele não tem mais um título de coluna com o nome Coluna porque ele foi alterado manualmente para Data. O Power Query não consegue localizar um título de coluna chamado Coluna, portanto, ele não pode renomear nenhuma coluna. Ele exibe o erro mostrado na imagem a seguir.

Captura de tela de um erro de expressão em que a coluna da tabela não foi encontrada porque o nome da coluna foi alterado manualmente.

Soluções possíveis: há várias soluções para esse caso, mas todas elas dependem do que você gostaria de fazer. Para este exemplo, como o cabeçalho correto da coluna Date já vem do arquivo de texto, você pode simplesmente remover a etapa que renomeia a coluna. Essa alteração permite que sua consulta seja executada sem esse erro.

Outros erros comuns de nível de etapa

Ao combinar ou mesclar dados entre várias fontes de dados, você pode obter um erro Formula.Firewall , como o mostrado na imagem a seguir.

Captura de tela de um erro de firewall de fórmula informando que a consulta faz referência a outras consultas ou etapas, portanto, pode não acessar diretamente uma fonte de dados.

Esse erro ocorre por vários motivos, como os níveis de privacidade de dados entre fontes de dados ou a maneira como essas fontes de dados estão sendo combinadas ou mescladas. Para obter mais informações sobre como diagnosticar esse problema, acesse o firewall de privacidade de dados.

Erro no nível da célula

Um erro no nível da célula não impede o carregamento da consulta, mas exibe valores de erro como Erro na célula. Selecionar o espaço em branco na célula exibe o painel de erros abaixo da visualização de dados.

Captura de tela demonstrando a exibição da mensagem de erro selecionando o espaço em branco em uma célula de tabela que contém um erro.

Observação

As ferramentas de criação de perfil de dados podem ajudá-lo a identificar erros de nível de célula com mais facilidade com o recurso de qualidade da coluna. Para obter mais informações, acesse as ferramentas de criação de perfil de dados.

Tratamento de erros no nível celular

Quando você encontra erros no nível da célula, o Power Query fornece um conjunto de funções para lidar com eles removendo, substituindo ou mantendo os erros.

Para as próximas seções, os exemplos fornecidos usam a mesma consulta de exemplo como ponto de partida. Nesta consulta, você tem uma coluna Vendas que tem uma célula com um erro causado por um erro de conversão. O valor dentro dessa célula era NA, mas quando você transformou essa coluna em um número inteiro, o Power Query não pôde converter NA em um número, portanto, ele exibe o erro a seguir.

Captura de tela exibindo o erro de formato de dados, contendo o erro de tipo de dados não convertido no painel de erros.

Remover erros

Para remover linhas com erros no Power Query, primeiro selecione a coluna que contém erros. Na guia Página Inicial , no grupo Reduzir linhas , selecione Remover linhas. No menu suspenso, selecione Remover erros.

Captura de tela do botão remover erros na guia Página Inicial.

O resultado dessa operação fornece a tabela a seguir.

A captura de tela da tabela que anteriormente continha cinco linhas agora tem a linha que continha o erro removida, deixando quatro linhas na tabela.

Substituir erros

Se, em vez de remover linhas por erros, você quiser substituir os erros por um valor fixo, também poderá fazer isso. Para substituir as linhas que têm erros, primeiro selecione a coluna que contém erros. Na guia Transformar, no grupo Qualquer coluna, selecione Substituir valores. No menu suspenso (drop-down), selecione Substituir erros.

Captura de tela do botão substituir erros na guia Transformar.

Na caixa de diálogo Substituir erros, insira o valor 10 porque você deseja substituir todos os erros pelo valor 10.

Captura de tela da caixa de diálogo de substituição de erros com o valor definido como 10.

O resultado dessa operação fornece a tabela a seguir.

Captura de tela da tabela na qual a terceira linha continha um erro na coluna Vendas agora tem o erro substituído pelo valor 10.

Preservar os erros

O Power Query pode servir como uma boa ferramenta de auditoria para identificar todas as linhas com erros, mesmo que você não corrija os erros. Nessa situação, Manter erros pode ser útil. Para manter linhas com erros, primeiro selecione a coluna que contém erros. Na guia Página Inicial , no grupo Reduzir linhas , selecione Manter linhas. No menu suspenso, selecione Manter erros.

Captura de tela do botão

O resultado dessa operação fornece a tabela a seguir.

Captura de tela da tabela final que mantém apenas linhas que contêm erros.

Erros comuns no nível da célula

Assim como acontece com qualquer erro de nível de etapa, recomendamos que você examine de perto os motivos de erro, as mensagens de erro e os detalhes do erro fornecidos no nível da célula para entender o que está causando os erros. As seções a seguir discutem alguns dos erros de nível de célula mais frequentes no Power Query.

Erros de conversão de tipo de dados

Normalmente disparado ao alterar o tipo de dados de uma coluna em uma tabela. Alguns valores encontrados na coluna não puderam ser convertidos no tipo de dados desejado.

Exemplo: você tem uma consulta que inclui uma coluna chamada Sales. Uma célula nessa coluna tem NA como um valor de célula, enquanto o restante tem números inteiros como valores. Você decide converter o tipo de dados da coluna de texto em número inteiro, mas a célula com o valor NA causa um erro.

Captura de tela mostrando os detalhes do erro de conversão para o tipo de dados.

Soluções possíveis: depois de identificar a linha com o erro, você pode modificar a fonte de dados para refletir o valor correto em vez de NA ou aplicar uma operação de erro Replace para fornecer um valor para quaisquer valores NA que causem um erro.

Erros de operação

Ao tentar aplicar uma operação sem suporte, como multiplicar um valor de texto por um valor numérico, ocorre um erro.

Exemplo: você deseja criar uma coluna personalizada para sua consulta criando uma cadeia de caracteres de texto que contém a frase "Total de Vendas: " concatenada com o valor da coluna Vendas . Ocorre um erro porque a operação de concatenação dá suporte apenas a colunas de texto e não a numéricas.

Captura de tela do erro de expressão no painel de erros causado pela tentativa de aplicar um operador And ao texto e a um número da coluna Vendas.

Soluções possíveis: antes de criar essa coluna personalizada, altere o tipo de dados da coluna Vendas para ser texto.

Captura de tela da tabela com a coluna de vendas convertida de um número em um tipo de texto e uma nova coluna contendo ambas as expressões.

Valores agregados mostrados como erros

Ao trabalhar com dados que contêm valores estruturados aninhados (como tabelas, listas ou registros), às vezes você pode encontrar o seguinte erro:

Captura de tela de um erro em valores aninhados causado pelo firewall de fórmula em execução.

Expression.Error: We cannot return a value of type {value} in this context

Details: In the past we would have returned a text value of {value}, but we now return this error. Please see https://go.microsoft.com/fwlink/?linkid=2099726 for more information.

Esses erros geralmente ocorrem por dois motivos:

  • Quando o Firewall de Privacidade de Dados bufferiza uma fonte de dados, valores não escalares encapsulados são convertidos automaticamente em erros.
  • Quando uma coluna definida com o Any tipo de dados contém valores nãocalares, esses valores são relatados como erros durante a carga (como em uma pasta de trabalho no Excel ou no modelo de dados no Power BI Desktop).

Soluções possíveis:

  • Remova a coluna que contém o erro ou defina um tipo de nãoAny dados para essa coluna.
  • Altere os níveis de privacidade das fontes de dados envolvidas para uma que permita que elas sejam combinadas sem serem armazenadas em buffer.
  • Nivele as tabelas antes de fazer uma mesclagem para eliminar colunas que contêm valores estruturados aninhados (como tabela, registro ou lista).