Indikátory postupného posúvania dotazov

Poznámka

Pred čítaním tohto článku si prečítajte prehľad vyhodnocovania dotazov a skladania dotazov v Power Query, aby ste lepšie pochopili, ako folding funguje v Power Query.

Indikátory skladania dotazov vám pomôžu pochopiť, ktoré kroky sa skladajú a ktoré nie. Krok sa preloží, keď Power Query preloží svoje transformácie do dotazu zdroja údajov a spustí ich v zdroji údajov.

Keď použijete indikátory prekladania dotazov, je jasné, keď urobíte zmenu, ktorá prerušuje skladanie. Táto funkcia pomáha riešiť problémy, vyhnúť sa problémom s výkonom a získať lepší prehľad o dotazoch. Vo väčšine prípadov sa schody buď skladajú, alebo neskladajú. Ale existuje mnoho prípadov, kde výsledok nie je zrejmý. Tieto prípady sa týkajú časti Diagnostika krokov (Môže sa zložiť, Nepriehľadné a Neznáme).

Poznámka

Funkcia indikátorov postupného posúvania dotazov je k dispozícii len pre Power Query Online.

Interpretácia diagnostiky postupného posúvania dotazov

V Power Query Online indikátor postupného posúvania dotazov vedľa kroku ukazuje, či sa dotaz postupne posúva. Stav diagnostiky nie je sekvenčný. Ak indikátor ukazuje, že dotaz sa neskladá, za ktorým nasleduje indikátor, ktorý ukazuje, že postupne funguje, dotaz až do tohto bodu sa postupne posúva.

Tento výklad funguje aj pri jednoduchom dotaze na zdroj SQL. Môžete sa napríklad pripojiť k tabuľke Production.Product v ukážkovej databáze AdventureWorks a potom načítať údaje. Načítanie tejto ukážky pomocou navigátora Power Query poskytne nasledujúci dotaz:

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

Ak budete skúmať, ako sa tento kód zobrazuje v indikátoroch postupného posúvania dotazov, všimnite si, že prvý krok je nepresvedčivý. Druhý krok sa však skladá z postupne, čo znamená, že dotaz sa až do tohto bodu postupne posúva.

Snímka obrazovky krokov Zdroj a Navigácia na table Indikátor skladania.

V tomto príklade nie je možné potvrdiť, že počiatočné kroky sa postupne posúvajú (sú nepresvedčivé), ale posledný krok vygenerovaný pri prvom načítaní údajov sa postupne posúva. Spôsob narábania s prvými krokmi (Zdroj a niekedy aj iné kroky navigácie ) závisí od konektora. Napríklad s SQL sa krok spracováva ako hodnota tabuľky katalógu, ktorá sa nezbalí. Hneď ako však vyberiete údaje pre tento konektor, údaje sa zbalia.

Naopak, toto označenie môže tiež znamenať, že váš dotaz sa zbalí do bodu a potom sa zastaví skladanie. Indikátor neskladania neznamená, že sa nič neskladá. Namiesto toho to znamená, že nie všetko sa skladá. Vo všeobecnosti platí, že všetko až do posledného skladacieho indikátora sa postupne posúva, pričom postupne pretrvá viac operácií.

Po úprave predchádzajúceho príkladu môžete poskytnúť transformáciu, ktorá sa nikdy nezbalí – každé slovo veľkým písmenom.

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"

V indikátoroch postupného posúvania dotazov máte rovnaké indikátory ako predtým, ale posledný krok sa nezbalí. Všetko až do tohto posledného kroku sa vykoná v zdroji údajov, zatiaľ čo posledný krok sa vykoná lokálne.

Snímka obrazovky krokov Source (Zdroj), Navigation (Navigácia) a Capitalize Each Word (Každé slovo) na table Folding Indicator (Indikátor postupného posúvania)

Ukazovatele diagnostiky krokov

Indikátory skladania dotazov používajú základný plán dotazu a vyžadujú, aby reportoval informácie o dotaze. Plán dotazov v súčasnosti podporuje iba tabuľky, a preto sa v niektorých prípadoch (zoznamy, záznamy, primitívne) nezostáv nezobrazujú ako postupné posúvanie alebo nie. Podobne platí, že zostava konštantných tabuliek je nepriehľadná.

Indikátor Ikona Popis
Skladací Indikátor postupného posúvania znamená, že zdroj údajov vyhodnotí dotaz až do tohto kroku.
Nie postupné posúvanie Indikátor postupného posúvania znamená, že časť dotazu až do tohto kroku sa vyhodnocuje mimo zdroja údajov. Môžete ho porovnať s posledným indikátorom skladania, ak existuje, a zistiť, či je možné zmeniť usporiadanie dotazu tak, aby malo výkonnejší výkon.
Možno zbalí Môže fold ukazovatele sú nezvyčajné. Znamená to, že dotaz sa môže postupne posúvať. Označujú buď to, že postupné posúvanie alebo postupné posúvanie sa určuje v čase spustenia, pri vytváraní výsledkov z dotazu a že plán dotazov je dynamický. Tieto ukazovatele sa pravdepodobne zobrazia len s pripojeniami ODBC alebo OData.
Nepriehľadný Nepriehľadné indikátory zobrazujú, že výsledný plán dotazu je z nejakého dôvodu nepresvedčivý. Všeobecne označuje, že existuje skutočná "konštantná" tabuľka alebo to, že indikátory a nástroj plánu dotazov túto transformáciu ani konektor nepodporujú.
Neznámy Neznáme indikátory predstavujú absenciu plánu dotazu, a to buď z dôvodu chyby, alebo pokusu o spustenie vyhodnocovania plánu dotazu na niečo iné ako tabuľku (napríklad záznam, zoznam alebo primitívne).

Analýza indikátorov postupného posúvania dotazov

Ak chcete analyzovať indikátory postupného posúvania dotazov, pripojte sa k tabuľke Production.Product v databáze AdventureWorks (SQL). Počiatočné načítanie zobrazuje krok Source ako nepresvedčivý a krok Navigácia ako postupné posúvanie, ako je to znázornené na nasledujúcom obrázku.

Snímka obrazovky s indikátormi počiatočného kroku na načítanie tabuľky Product (Produkt).

Keď pridáte viac krokov, ktoré sa skladajú, predĺžite zelenú čiaru napravo. K tomuto rozšíreniu dochádza preto, lebo tento krok sa tiež posúva.

Snímka obrazovky znázorňujúca, ako pridanie kroku odstránenia stĺpca k predchádzajúcemu dotazu rozširuje zelenú čiaru indikátora skladania.

Keď pridáte krok, ktorý sa neskladá, vidíte iný indikátor. Napríklad: Každé slovo sa nikdy nezloží veľkým písmenom . Indikátor sa zmení a ukazuje, že v tomto kroku prestalo skladanie. Ako už bolo spomenuté, predchádzajúce kroky sa postupne posúvajú.

Snímka obrazovky znázorňujúca, ako pridajte postupné posúvanie krokov pri každom slove veľkým písmenom.

Keď pridáte ďalšie kroky v smere toku, ktoré závisia od veľkých písmen každého slova, neprehádzajú sa.

Snímka obrazovky znázorňujúca, ako sa po pridaní ďalších krokov postupné posúvanie nevyskytuje.

Ak však odstránite stĺpec, na ktorý ste použili veľké písmeno, optimalizovaný plán dotazu sa môže znova zbaliť. V tomto neobvyklom výsledku sa posledný krok postupne posúva, aj keď sa predchádzajúci krok nezbalí, ako je to znázornené na nasledujúcom obrázku. Tento výsledok znázorňuje, ako postupné posúvanie závisí od poradia krokov aj transformácií, ktoré platia.

Snímka obrazovky zobrazujúca, ako odstránenie problematického stĺpca umožňuje postupné posúvanie bez odstránenia kroku.