Lidar com erros no Power Query

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

  • Erros de 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ê poderá encontrar em cada nível e descreve o motivo do erro, a mensagem de erro e os detalhes do erro para cada nível.

Erro de nível de etapa

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

Erro de nível de etapa.

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

Erros comuns de nível de etapa

Em todos os casos, recomendamos que você examine cuidadosamente 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 Ir para o erro, se disponível, para exibir a primeira etapa em que o erro ocorreu.

Vá para o botão de erro.

Não é possível localizar a origem – DataSource.Error

Esse erro geralmente ocorre quando a fonte de dados está 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 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.Error porque não há unidade D no ambiente dela.

Erro de fonte de dados, não foi possível encontrar o arquivo porque não há nenhuma 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 que seja uma cópia local do mesmo arquivo de texto. Se o botão Editar configurações estiver disponível no painel de erros, você poderá selecioná-lo e alterar o caminho do arquivo.

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 Coluna. Em sua consulta, você tem uma etapa que renomeia essa coluna como Data. 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 encontrar um título de coluna chamado Coluna, portanto, ele não consegue renomear nenhuma coluna. Ele exibe o erro mostrado na imagem a seguir.

Erro de expressão, 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 Data já vem do arquivo de texto, você pode simplesmente remover a etapa que renomeia a coluna. Isso permitirá 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 se deparar com um erro Formula.Firewall, como mostrado na imagem a seguir.

Erro de Firewall de Fórmula, a consulta faz referência a outras consultas ou etapas, portanto, ela pode não acessar diretamente uma fonte de dados.

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

Erro no nível da célula

Um erro no nível da célula não impedirá o carregamento da consulta, mas exibirá valores de erro como Erro na célula. A seleção do espaço em branco na célula exibirá o painel de erros abaixo da visualização de dados.

Exibindo a mensagem de erro via seleção de um espaço em branco em uma célula da tabela que contém um erro.

Observação

As ferramentas de criação de perfil de dados podem ajudar você a identificar mais facilmente erros de nível de célula com o recurso de qualidade da coluna. Confira mais informações: Ferramentas de criação de perfil de dados

Lidar com erros no nível da célula

Ao encontrar 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.

Nas próximas seções, os exemplos fornecidos usarão a mesma consulta de exemplo que o 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, ela exibirá o erro a seguir.

Exibe um erro de formato de dados, não foi possível converter em erro de tipo de dados 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.

Botão Remover erros na guia Início.

O resultado dessa operação lhe fornecerá a tabela que você esperava.

Tabela que anteriormente continha cinco linhas teve a linha que continha o erro removida, restando quatro linhas na tabela.

Substituir erros

Se, em vez de remover linhas com erros você quiser substituir os erros por um valor corrigido, 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, selecione Substituir erros.

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.

Caixa de diálogo Substituir erros.

O resultado dessa operação lhe fornecerá a tabela que você esperava.

Tabela na qual a terceira linha continha um erro na coluna Vendas teve o erro substituído pelo valor 10.

Manter erros

O Power Query pode servir como uma boa ferramenta de auditoria para identificar linhas com erros, mesmo que você não corrija os erros. É aqui que a opção Manter erros podem ser útil. Para manter as linhas que têm 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.

Botão Manter erros na guia Início.

O resultado dessa operação lhe fornecerá a tabela que você esperava.

Tabela final que mantém apenas as linhas que contêm erros.

Erros comuns no nível de célula

Assim como ocorre com qualquer erro de nível de etapa, recomendamos que você examine com cuidado os motivos de erros, as mensagens de erro e os detalhes de erros 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 Vendas. 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 para número inteiro, mas a célula com o valor NA causa um erro.

Detalhes do erro Não foi possível converter em 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 Substituir erro para fornecer um valor para os valores NA que causam o erro.

Erros de operação

Ao tentar aplicar uma operação que não tem 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, mas não a colunas numéricas.

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 texto.

Tabela com a coluna de vendas convertida do tipo de dados Número para o tipo de dados Texto, resultando em uma nova coluna com as duas expressões.

Valores aninhados 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:

Um erro acionado pelo firewall de fórmulas para valores aninhados ocorreu.

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 armazena uma fonte de dados em buffer, os valores não escalares aninhados são automaticamente convertidos em erros.
  • Quando uma coluna definida com o Any o tipo de dados contém valores não escalares, esses valores serão relatados como erros durante o carregamento (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 dados que não seja Any para essa coluna.
  • Altere os níveis de privacidade das fontes de dados envolvidas para um 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).