Indicadores de dobragem de consulta
Nota
Antes de ler este artigo, recomendamos que leia Descrição geral da avaliação de consultas e dobragem de consultas no Power Query para compreender melhor como funciona a dobragem no Power Query.
Os indicadores de dobragem de consulta ajudam-no a compreender os passos que dobram ou não dobram.
Com os indicadores de dobragem de consulta, torna-se óbvio quando você faz uma alteração que quebra a dobragem. Esse recurso ajuda você a resolver problemas mais facilmente rapidamente, evitar problemas de desempenho em primeiro lugar e ter uma melhor visão de suas consultas. Na maioria dos casos, você se depara, 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 etapas (Dinâmico, Opaco e Desconhecido).
Nota
A funcionalidade de indicadores de dobragem de consulta está disponível apenas para o Power Query Online.
Interpretando diagnósticos de dobramento de consulta
Quando você examina o indicador de dobragem de consulta ao lado de uma etapa, a coisa mais importante a entender é que o estado de diagnóstico não é sequencial. Em outras palavras, o indicador para essa etapa descreve se a consulta como um todo, até esse ponto, dobra ou não. Se você tiver um indicador que mostra que a consulta não dobra seguido por um indicador que mostra que ela dobra, isso significa que sua consulta até esse ponto dobra.
Essa interpretação funciona mesmo com uma simples consulta em relação a uma fonte SQL. Por exemplo, usando o banco de dados de exemplo AdventureWorks, conecte-se à tabela Production.Product e carregue dados. Ao carregar este exemplo através do navegador do Power Query, obtém-se 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 nos indicadores de dobragem de consulta, observe que a primeira etapa é inconclusiva. Mas o segundo passo dobra, o que significa que a consulta até esse ponto se 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 forma como os primeiros passos (Origem e, por vezes, outros passos de Navegação ) são tratados 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ê seleciona dados para esse conector, ele se dobra.
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 dobragem para o degrau que mostra que tudo dobra, quando você tem um indicador não dobrável isso não significa que tudo não dobra. Em vez disso, significa que "nem tudo" se dobra. Geralmente, tudo até o último indicador de dobragem dobra, com mais operações acontecendo depois.
Modificando o exemplo anterior, você pode dar uma transformação que nunca 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 dobra. Tudo até esta etapa final é executado na fonte de dados, enquanto a etapa final é executada localmente.
Indicadores de diagnóstico por etapas
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 relatá-la. Atualmente, o plano de consulta suporta apenas tabelas, portanto, alguns casos (listas, registros, primitivos) não relatam como dobragem ou não. Da mesma forma, as tabelas constantes relatam como opacas.
Indicador | Ícone | Description |
---|---|---|
Dobrável | O indicador de dobragem informa que a consulta até esta etapa é avaliada pela fonte de dados. | |
Não dobrável | O indicador não dobrável informa que alguma parte da consulta até esta etapa é avaliada fora da fonte de dados. Você pode compará-lo com o último indicador de dobragem, se houver, para ver se você pode reorganizar sua consulta para ter mais desempenho. | |
Pode dobrar | Indicadores de dobra podem ser incomuns. Eles significam que uma consulta "pode" dobrar. Eles indicam que dobrar ou não dobrar é determinado no tempo de execução, ao extrair 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 informam que o plano de consulta resultante é inconclusivo por algum motivo. Geralmente indica que há uma tabela "constante" verdadeira ou que essa transformação ou conector não é suportado pela ferramenta de indicadores e plano de consulta. | |
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, lista ou primitivo). |
Exemplo de análise
Para obter um exemplo de análise, comece conectando-se à tabela Production.Product no Adventure Works (SQL). A carga inicial, semelhante ao exemplo inicial, se parece com a imagem a seguir.
Adicionar mais passos que dobram estende a linha verde no lado direito. Esta extensão ocorre porque este passo também se dobra.
Adicionar uma etapa que não dobra exibe um indicador diferente. Por exemplo, colocar cada palavra em maiúsculas nunca se dobra. O indicador muda, mostrando que, a partir desta etapa, ele parou de dobrar. Como mencionado anteriormente, as etapas anteriores ainda dobram.
Adicionar mais etapas a jusante que dependem de Capitalizar cada etapa continua a não dobrar.
No entanto, se você remover a coluna à qual aplicou a capitalização para que o plano de consulta otimizado possa dobrar mais uma vez, 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 as transformações reais que se aplicam também.