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.
- 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.
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.
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.
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.
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.
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.
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.
O resultado dessa operação lhe fornecerá a tabela que você esperava.
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.
Na caixa de diálogo Substituir erros, insira o valor 10 porque você deseja substituir todos os erros pelo valor 10.
O resultado dessa operação lhe fornecerá a tabela que você esperava.
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.
O resultado dessa operação lhe fornecerá a tabela que você esperava.
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.
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.
Soluções possíveis: antes de criar essa coluna personalizada, altere o tipo de dados da coluna Vendas para texto.
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:
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).