Compartilhar via


Indicadores de dobragem de consultas

Observação

Antes de ler este artigo, recomendamos que você leia Visão geral da avaliação de consultas e da dobra de consultas no Power Query para entender melhor como a dobra funciona no Power Query.

Os indicadores de dobragem de consulta ajudam você a entender as etapas que dobram ou não dobram.

Com indicadores de dobragem de consulta, fica óbvio quando você faz uma alteração que interrompe a dobra. Esse recurso ajuda você a resolver problemas com mais facilidade rapidamente, evitar problemas de desempenho em primeiro lugar e ter uma visão melhor de suas consultas. Na maioria dos casos que você encontra, os passos dobram ou não dobram. Mas há muitos casos em que o resultado não é tão óbvio, e esses casos são discutidos em indicadores de diagnóstico de etapa ( Dinâmico, Opaco e Desconhecido).

Observação

O recurso de indicadores de otimização de consultas está disponível apenas para o Power Query Online.

Interpretando o diagnóstico de dobragem de consulta

Quando você examina o indicador de compactação de consulta ao lado de uma etapa, o mais importante a se compreender é que o estado de diagnóstico não é sequencial. Em outras palavras, o indicador dessa etapa descreve se a consulta como um todo, até esse ponto, dobra ou não. Se você tiver um indicador que mostre que a consulta não se dobra, seguido por um indicador que mostra que ela se dobra, isso significa que sua consulta se dobra até aquele ponto.

Essa interpretação funciona mesmo com uma consulta simples em uma fonte SQL. Por exemplo, usando o banco de dados de exemplo AdventureWorks, conecte-se à tabela Production.Product e carregue dados. Carregar este exemplo por meio do navegador do Power Query gera a seguinte consulta:

let
  Source = Sql.Database("ServerName", "AdventureWorks"),
  Navigation = Source{[Schema = "Production", Item = "Product"]}[Data]
in
  Navigation

Se você examinar como esse código aparece em indicadores de dobragem de consulta, observe que a primeira etapa é inconclusiva. Mas a segunda etapa se completa, o que significa que a consulta até esse ponto se completa.

Captura de tela das etapas de Fonte e Navegação no painel do Indicador de Dobra.

Neste exemplo, as etapas iniciais não podem ser confirmadas para dobrar (é inconclusiva), mas a etapa final gerada quando você carrega dados inicialmente dobra. A maneira como as primeiras etapas (origem e, às vezes, outras etapas de navegação ) são tratadas depende do conector. Com o SQL, por exemplo, a etapa é tratada como um valor de tabela de catálogo, que não se dobra. No entanto, assim que você selecionar dados para esse conector, ele será dobrado.

Por outro lado, essa indicação também pode significar que sua consulta se dobra até um ponto e, em seguida, para de dobrar. Ao contrário do caso em que você tem um indicador de dobra para a etapa que mostra que tudo dobra, quando você tem um indicador de não dobramento, isso não significa que tudo não dobra. Em vez disso, isto significa que "nem tudo" se dobra. Geralmente, tudo se dobra até o último indicador de dobramento, com mais operações acontecendo depois.

Modificando o exemplo anterior, você pode aplicar uma transformação que nunca se dobra—Capitalizar Cada Palavra.

let
  Source = Sql.Database("ServerName", "AdventureWorks"),
  Navigation = Source{[Schema = "Production", Item = "Product"]}[Data],
  #"Capitalized each word" = Table.TransformColumns(Navigation, {{"Name", each Text.Proper(_), type text}})
in
  #"Capitalized each word"

Nos indicadores de dobragem de consulta, você tem os mesmos indicadores que anteriormente, exceto que a etapa final não se dobra. Tudo até esta etapa final é executado na fonte de dados, enquanto a etapa final é executada localmente.

Captura de tela das etapas Fonte, Navegação e Capitalizar Cada Palavra no Painel de Indicador de Colapso.

Indicadores de diagnóstico de etapa

Os indicadores de dobragem de consulta usam um plano de consulta subjacente e exigem que ele seja capaz de obter informações sobre a consulta para reportá-la. Atualmente, o plano de consulta só dá suporte a tabelas, portanto, alguns casos (listas, registros, primitivos) não são relatados como dobras ou não. Da mesma forma, tabelas constantes são consideradas opacas.

Indicador Ícone Descrição
Dobradura O indicador de dobragem informa que a fonte de dados avalia a consulta até esta etapa.
Não dobrar O indicador de não dobragem informa que alguma parte da consulta até esta etapa é avaliada fora da fonte de dados. Você pode compará-lo com o último indicador de dobra, se houver um, para ver se você pode reorganizar sua consulta para ter um desempenho maior.
Pode vir a dobrar Podem dobrar indicadores são raros. Eles querem dizer que uma consulta "pode" se expandir ou se dobrar. Eles indicam que tanto dobrar quanto não dobrar é determinado no tempo de execução, quando se puxa os resultados da consulta, e que o plano de consulta é dinâmico. Esses indicadores provavelmente só aparecem com conexões ODBC ou OData.
opaco Indicadores opacos dizem que o plano de consulta resultante é inconclusivo por algum motivo. Geralmente, indica que há uma tabela "constante" verdadeira ou que a ferramenta de plano de consulta para indicadores não dá suporte a essa transformação ou conector.
Desconhecido Indicadores desconhecidos representam a ausência de um plano de consulta, devido a um erro ou tentativa de executar a avaliação do plano de consulta em algo diferente de uma tabela (como um registro, uma lista ou um primitivo).

Análise de exemplo

Para obter uma análise de exemplo, comece conectando-se à tabela Production.Product no Adventure Works (SQL). A carga inicial, semelhante ao exemplo inicial, se parece com a imagem a seguir.

Captura de tela dos indicadores da etapa inicial para carregar a tabela Produto.

Adicionar mais etapas que dobram estende essa linha verde no lado direito. Essa extensão ocorre porque essa etapa também se dobra.

Captura de tela mostrando como adicionar uma etapa de remoção de coluna à consulta anterior estende a linha de indicador de dobra verde.

Adicionar uma etapa que não dobra exibe um indicador diferente. Por exemplo, o Capitalize cada palavra nunca dobra. O indicador muda, mostrando que desde este passo, ele parou de se dobrar. Conforme mencionado anteriormente, as etapas anteriores ainda são válidas.

Captura de tela mostrando como a adição de uma etapa Maiúsculas e Palavras interrompe a dobra.

A adição de mais etapas subsequentes, que dependem da Capitalizar cada etapa, continua a não se integrar.

Captura de tela mostrando como a dobra não ocorrerá depois de adicionar mais etapas.

No entanto, se você remover a coluna à qual aplicou a capitalização para que o plano de consulta otimizado possa ser reorganizado novamente, você obterá um resultado como a imagem a seguir. No entanto, algo assim é incomum. Esta imagem ilustra como não é apenas a ordem das etapas, mas também as transformações reais que se aplicam.

Captura de tela que mostra como remover a coluna problemática permite que as coisas se arrumem sem necessidade de remover a etapa.