Indicadores de dobramento de etapa

Observação

Antes de ler este artigo, recomendamos que você leia Dobramento de consultas no Power Query para entender melhor como a dobra funciona no Power Query.

Indicadores de dobramento de etapa permitem que você entenda as etapas que dobram ou não dobram.

Usando indicadores de dobramento de etapa, quando você faz uma alteração que interrompe a dobra, isso se tornará óbvio. Isso permitirá que você resolva problemas com mais facilidade rapidamente, evite problemas de desempenho em primeiro lugar e tenha melhores insights sobre suas consultas. Na maioria dos casos em que você se desdobre, as etapas serão dobrados ou não serão dobrados. Há muitos casos em que o resultado não é tão óbvio, discutido na seção sobre Indicadores de diagnóstico de etapa (Dinâmico, Opaco e Desconhecido) posteriormente neste artigo.

Observação

O recurso indicadores de dobramento de etapas está disponível apenas para Power Query Online.

Interpretando o diagnóstico de etapa

Ao ver o diagnóstico da etapa, o mais importante a entender é 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 dobra, seguido por um indicador que mostra que ela dobra, isso significa que cada etapa até esse ponto dobra.

Você pode ver um exemplo disso mesmo com uma consulta simples em uma fonte SQL dados.

Usando o banco de dados de exemplo Northwind, conecte-se à tabela Produtos e carregue dados. Fazer isso por meio da experiência de navegação dará a seguinte consulta:

let
  Source = Sql.Databases("localhost"),
  #"Navigation 1" = Source{[Name = "AdventureWorksLT"]}[Data],
  #"Navigation 2" = #"Navigation 1"{[Schema = "SalesLT", Item = "Product"]}[Data]
in
  #"Navigation 2"

Se você vir como isso aparece nos indicadores de dobramento de etapas, poderá ver que a primeira etapa não dobra, a segunda etapa é inconclusiva e a terceira etapa é dobrada.

Etapas de Origem, Navegação 1 e Navegação 2 no painel Indicador de Dobramento.

Você pode ver que as etapas iniciais não dobram, mas a etapa final gerada quando você carrega dados inicialmente dobra. A maneira como as primeiras etapas (Origem, às vezes Navegação) são tratadas depende do conector. Com SQL, por exemplo, ele é tratado como um valor de tabela de catálogo, que não dobra. No entanto, assim que você selecionar dados para esse conector, ele o fará.

Por outro lado, isso também pode significar que sua consulta dobra até um ponto e, em seguida, interrompe a dobra. Ao contrário do caso em que você tem um indicador de dobramento 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, significa que "nem tudo" dobra. Em geral, tudo até o último indicador de dobramento será dobrado, com mais operações ocorrendo depois.

Modificando o exemplo acima, você pode dar uma transformação que nunca dobra – Capitalizar cada Palavra.

let
  Source = Sql.Databases("localhost"),
  #"Navigation 1" = Source{[Name = "AdventureWorksLT"]}[Data],
  #"Navigation 2" = #"Navigation 1"{[Schema = "SalesLT", Item = "Product"]}[Data],
  #"Capitalized each word" = Table.TransformColumns(#"Navigation 2", {{"ProductID", each Text.Proper(Text.From(_)), type text}})
in
  #"Capitalized each word"

Em indicadores de dobramento de etapa, você verá que tem exatamente os mesmos indicadores acima, exceto que a etapa final não dobra. Tudo até essa etapa final será executado na fonte de dados, enquanto a etapa final será executada localmente.

Etapas de Origem, Navegação 1, Navegação 2 e Maiúsculas de cada Palavra no painel Indicador de Dobramento.

Indicadores de diagnóstico de etapa

Os indicadores de dobramento de etapa usam um plano de consulta subjacente e exigem que ele possa obter informações sobre a consulta para reportá-lo. Atualmente, o plano de consulta dá suporte apenas a tabelas, portanto, alguns casos (listas, registros, primitivos) não serão reportadas como dobramento ou não. Da mesma forma, as tabelas constantes serão relatadas como opaca.

Indicador ícone Descrição
Dobragem Indicador de dobramento para 'será dobrada'. O indicador de dobramento informa que a consulta até esta etapa será avaliada pela fonte de dados.
Não dobrável Indicador de dobramento para 'não dobra'. O indicador de não dobramento informa que alguma parte da consulta até essa etapa será avaliada fora da fonte de dados. Você pode compará-lo com o último indicador de dobramento, se houver um, para ver se você pode reorganizar sua consulta para ter mais desempenho.
Pode ser dobrada Indicador de dobramento para 'pode dobrar'. Os indicadores de dobra podem ser incomuns. Eles significam que uma consulta 'pode' ser dobrada. Eles indicam que dobramento/não dobramento será determinado em runtime, ao efetuar o pulling dos resultados da consulta e que o plano de consulta é dinâmico. Elas provavelmente aparecerão apenas com conexões ODBC ou OData.
Opaco Indicador de dobramento para 'dobramento opaco, inconclusivo'. Indicadores opacos dizem que o plano de consulta resultante é inconclusivo por algum motivo. Geralmente, indica que há uma tabela 'constante' verdadeira ou que a transformação ou o conector não é compatível com os indicadores e a ferramenta de plano de consulta.
Desconhecido Indicador de dobramento para 'nenhum plano de consulta'. Indicadores desconhecidos representam uma ausência de plano de consulta, seja devido a um erro ou tentativa de executar a avaliação do plano de consulta em algo diferente de uma tabela (como um registro, lista ou primitivo).

Análise de exemplo

Você pode ver um exemplo conectando-se à tabela Produtos no Adventure Works (SQL). A carga inicial, semelhante à acima, terá a seguinte aparência:

Indicadores de etapa inicial para carregar a tabela Product.

Adicionar mais etapas que dobram estenderá essa linha verde. Isso porque essa etapa também dobra.

Adicionar uma etapa remover coluna à consulta anterior, estendendo a linha do indicador de dobramento.

Adicionar uma etapa que não dobra mostrará um indicador, por exemplo, Colocar cada palavra em maiúsculas nunca será dobrada. Podemos ver obviamente que o indicador muda, mostrando que, a partir desta etapa, ele parou de ser dobrado. Conforme mencionado anteriormente, as etapas anteriores ainda serão dobras.

Adicionar uma etapa Colocar cada Palavra em Maiúsculas para quebrar a dobra.

Adicionar mais etapas downstream que dependem de Capitalizar cada etapa continuará a não ser dobrada.

Adicionar mais etapas que não dobram.

No entanto, se você remover a coluna à qual aplicou a capitalização para que o plano de consulta otimizado possa ser dobrada mais uma vez, você obterá um resultado como este; embora algo como isso seja incomum. Isso mostra como não é apenas a ordem das etapas, mas as transformações reais que se aplicam também.

Mostrar como remover a coluna problemática permite que as coisas doem sem remover a etapa.