Indicadores de dobragem de consultas

Observação

Antes de ler este artigo, leia Visão geral da avaliação e do redobramento de consultas no Power Query para entender melhor como o redobramento de consulta funciona no Power Query.

Os indicadores de dobragem de consulta ajudam você a entender quais etapas dobram e quais etapas não. Uma etapa dobra quando Power Query converte suas transformações em uma consulta de fonte de dados e as executa na fonte de dados.

Quando você usa indicadores de dobragem de consulta, fica claro quando você faz uma alteração que interrompe a dobra. Esse recurso ajuda você a resolver problemas, a evitar problemas de desempenho e a obter melhores informações sobre suas consultas. Na maioria dos casos, as etapas dobram ou não dobram. Mas existem muitos casos em que o resultado não é óbvio. A seção Indicadores de diagnóstico da etapa aborda estes casos (Pode dobrar, Opaco e Desconhecido).

Observação

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

Interpretar o diagnóstico de dobragem de consulta

No Power Query Online, o indicador de dobragem de consulta ao lado de uma etapa mostra se a consulta como um todo, até esse ponto, é dobrada. O estado de diagnóstico não é sequencial. Se um indicador mostrar que a consulta não é convertida e, em seguida, outro indicador mostrar que ela é convertida, a consulta até esse ponto é convertida.

Essa interpretação funciona mesmo com uma consulta simples em uma fonte SQL. Por exemplo, conecte-se à tabela Production.Product no banco de dados de exemplo AdventureWorks e, em seguida, carregue os 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 (são inconclusivas), 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. Um indicador de não dobragem não significa que nada se dobra. Em vez disso, significa que nem tudo 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 relate informações sobre a consulta. 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).

Analisar indicadores de redirecionamento de consulta

Para analisar os indicadores de query folding, conecte-se à tabela Production.Product na base AdventureWorks (SQL). A carga inicial mostra a etapa Origem como inconclusiva e a etapa Navegação com dobramento, conforme mostrado na imagem a seguir.

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

Ao adicionar mais etapas que dobram, você estende a linha verde à direita. 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.

Quando você adiciona uma etapa que não dobra, você vê 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.

Quando você adiciona mais etapas posteriores que dependem de Colocar cada palavra em maiúscula, elas continuam sem ser dobradas.

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, o plano de consulta otimizado poderá ser dobrado novamente. Neste resultado incomum, a etapa final se dobra, embora uma etapa anterior não se dobre, como mostrado na imagem a seguir. Esse resultado ilustra como a dobra depende da ordem das etapas e das transformações 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.