Partilhar via


Lidar com erros no Power Query

No Power Query, pode encontrar dois tipos de erros:

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

Este artigo fornece sugestões sobre 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 que a consulta seja carregada e exibe os componentes de 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 'Coluna' da tabela não foi encontrada.
  • Detalhe do erro: A seção diretamente após a cadeia de caracteres Details: . No exemplo acima, o detalhe do erro é Coluna.

Erros comuns no nível do passo

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

Vá para o botão de erro.

Não é possível encontrar a fonte - 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 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.Error porque não há nenhuma unidade D em seu ambiente.

Erro de fonte de dados, não foi possível 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 tenham acesso. Como usuário B, você pode alterar o caminho do arquivo para ser 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 é acionado 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. Na consulta, você tem uma etapa que renomeia essa coluna para 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 foi alterado manualmente para Data. O Power Query não consegue encontrar um título de coluna chamado Coluna, pelo que não pode mudar o nome de 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: Existem várias soluções para este caso, mas todas dependem do que você gostaria de fazer. Neste exemplo, como o cabeçalho correto da coluna Data já vem do seu 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 no nível do passo

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.

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

Esse erro pode ser causado 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, vá para Firewall de privacidade de dados.

Erro no nível da célula

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

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

Nota

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

Tratamento de erros ao nível da célula

Ao encontrar erros ao nível da célula, o Power Query fornece um conjunto de funções para os tratar através da remoção, substituição ou manutenção dos erros.

Para as próximas seções, os exemplos fornecidos usarão a mesma consulta de exemplo que o ponto inicial. Nesta consulta, você tem uma coluna Sales 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 conseguiu converter NA em um número, portanto, exibe o seguinte erro.

Exibe 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, selecione primeiro a coluna que contém erros. No separador Base, no grupo Reduzir linhas, selecione Remover linhas. No menu suspenso, selecione Remover erros.

Botão Remover erros no separador Base.

O resultado dessa operação lhe dará a tabela que você está procurando.

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

Erros de substituição

Se, em vez de remover linhas com erros, você quiser substituir os erros por um valor fixo, você também pode fazê-lo. Para substituir linhas com erros, selecione primeiro 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, introduza o valor 10 porque pretende substituir todos os erros pelo valor 10.

Caixa de diálogo Substituir erros.

O resultado dessa operação lhe dará a tabela que você está procurando.

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

Manter erros

O Power Query pode servir como uma boa ferramenta de auditoria para identificar quaisquer linhas com erros, mesmo que não os corrija. É aqui que Manter erros pode ser útil. Para manter linhas com erros, selecione primeiro a coluna que contém erros. No separador Base, no grupo Reduzir linhas, selecione Manter linhas. No menu suspenso, selecione Manter erros.

Botão Manter erros no separador Base.

O resultado dessa operação lhe dará a tabela que você está procurando.

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

Erros comuns no nível da célula

Como em qualquer erro de nível de etapa, recomendamos que você examine de perto os motivos do erro, as mensagens de erro e os detalhes de erro fornecidos no nível da célula para entender o que está causando os erros. As secções seguintes abordam alguns dos erros mais frequentes ao nível da célula no Power Query.

Erros de conversão do tipo de dados

Normalmente acionado ao alterar o tipo de dados de uma coluna em uma tabela. Alguns valores encontrados na coluna não puderam ser convertidos para o 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 resto 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.

Não foi possível converter em detalhes de erro de 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 pode aplicar uma operação de erro Substituir para fornecer um valor para quaisquer valores NA que causem um erro.

Erros de operação

Ao tentar aplicar uma operação que não é suportada, 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 contenha a frase "Total de vendas: " concatenada com o valor da coluna Vendas . Ocorre um erro porque a operação de concatenação suporta apenas colunas de texto e não 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 esta coluna personalizada, altere o tipo de dados da coluna Vendas para texto.

Tabela com a coluna de vendas convertida de um tipo de dados Número para um tipo de dados Texto e, o resultado, uma nova coluna contendo ambas as 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:

Ocorreu um erro para valores aninhados acionados pelo firewall de fórmulas.

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 Data Privacy Firewall armazena em buffer uma fonte de dados, os valores não escalares aninhados são automaticamente convertidos em erros.
  • Quando uma coluna definida com o tipo de dados contém valores não escalares, esses valores serão relatados como erros durante o Any 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 queAny não seja de dados para essa coluna.
  • Altere os níveis de privacidade das fontes de dados envolvidas para uma que permita que eles sejam combinados sem serem armazenados em buffer.
  • Nivele as tabelas antes de fazer uma mesclagem para eliminar colunas que contenham valores estruturados aninhados (como tabela, registro ou lista).