Poznámka
Na prístup k tejto stránke sa vyžaduje oprávnenie. Môžete sa skúsiť prihlásiť alebo zmeniť adresáre.
Na prístup k tejto stránke sa vyžaduje oprávnenie. Môžete skúsiť zmeniť adresáre.
Power Query vyhodnotí dotaz jazyka M na určenie údajov a transformácií požadovaných pre jeho výsledok. Počas vyhodnocovania sa postupné posúvanie dotazov pokúša preložiť podporované transformácie do operácií, ktoré môže vykonať zdroj údajov. Transformácie, ktoré nie je možné postupne spúšťať v Power Query nástroji.
Čo je skript Power Query M?
M skript, ktorý sa nazýva aj kód jazyka M, je množina funkcií a syntaxe jazyka vzorcov Power Query M, ktorá sa Power Query vyhodnotí a vytvorí výsledok dotazu. Každý dotaz má M skript, či už ho Power Query vytvorí, napíšete ho v rozšírenom editore alebo ho zadáte v prázdnom dotaze.
Prepitné
M skript si môžete predstaviť ako recept, ktorý popisuje, ako pripraviť údaje.
Najbežnejším spôsobom vytvorenia M skriptu je použitie Power Query editora. Keď sa napríklad pripojíte k zdroju údajov, napríklad k databáze SQL Server, na pravej strane obrazovky sa zobrazí časť s názvom Použité kroky. V tejto časti sa zobrazujú všetky kroky alebo transformácie použité vo vašom dotaze. V tomto zmysle editor Power Query slúži ako rozhranie, ktoré vám pomôže vytvoriť vhodný M skript pre požadované transformácie a zaistí, že kód, ktorý používate, je platný.
Nota
Skript M sa používa v editore Power Query na:
- Zobraziť dotaz ako rad krokov a nechať vytvoriť alebo upraviť kroky.
- Zobrazenie diagramu.
V tomto SQL Server príklade obsahuje tabla Použité kroky nasledujúce kroky:
- Zdroj: Vytvorí pripojenie k zdroju údajov. V tomto prípade ide o spojenie s databázou SQL Server.
- Navigácia: Prejde na konkrétnu tabuľku v databáze.
- Odstránené ostatné stĺpce: vyberie, ktoré stĺpce z tabuľky sa majú zachovať.
- Zoradené riadky: Zoradí tabuľku pomocou jedného alebo viacerých stĺpcov.
- Udržiavané najvrchnejšie riadky: filtruje tabuľku tak, aby sa v hornej časti tabuľky nachádzali len niektoré riadky.
Zobrazenie a úprava M skriptu v Power Query
Táto sada názvov krokov je priateľský spôsob, ako si pozrieť M skript, ktorý pre vás vytvoril Power Query. Celý M skript môžete zobraziť niekoľkými spôsobmi. V Power Query vyberte Advanced Editor na karte Zobrazenie. Môžete tiež vybrať Advanced Editor zo skupiny Dotaz na karte Domov. V niektorých verziách Power Query môžete tiež zmeniť zobrazenie riadka vzorcov tak, aby zobrazoval skript dotazu tým, že prejdete na kartu Zobraziť a v skupine Rozloženie vyberiete položku Skriptovať zobrazenie>dotazu.
Väčšina názvov, ktoré nájdete na table Použité kroky , sa používa aj ako v M skripte. Kroky dotazu pomenujete pomocou identifikátorov v jazyku M. Niekedy sa v jazyku M zalomia ďalšie znaky okolo názvov krokov, ale v použitých krokoch sa nezobrazujú. Príkladom je #"Kept top rows", ktorý je kategorizovaný ako identifikátor v úvodzovkach z dôvodu týchto nadbytočných znakov. Kótovaný identifikátor umožňuje použiť ako identifikátor ľubovoľnú postupnosť žiadnych alebo viacerých znakov Unicode vrátane kľúčových slov, prázdnych znakov, komentárov, operátorov a interpunkčných zrnázornení. Ďalšie informácie o identifikátoroch v jazyku M nájdete v téme lexikálna štruktúra.
Všetky zmeny, ktoré vykonáte v dotaze prostredníctvom editora Power Query automaticky aktualizujú M skript dotazu. Ak napríklad zmeníte názov kroku Zachované najvrchnejšie riadky na prvých 20 riadkov, názov sa zmení aj v zobrazení skriptu dotazu.
Aj keď odporúčame použiť editor Power Query na vytvorenie celého alebo väčšiny M skriptu za vás, môžete manuálne pridávať alebo upravovať časti svojho M skriptu. Ďalšie informácie nájdete v téme Referenčné informácie o jazyku M.
V tomto článku M skript odkazuje na kód Power Query M v dotaze, ku ktorému máte prístup prostredníctvom rozšíreného editora alebo zobrazenia skriptu dotazu v riadku vzorcov.
Ako Power Query vyhodnotí dotaz jazyka M
Power Query vyhodnotí M skript stanovením požadovaného výstupu a jeho vytvorením. V prípade dotazov, ktoré používajú externý zdroj údajov, vyhodnotenie zahŕňa vyžiadanie údajov zo zdroja, spracovanie všetkých transformácií, ktoré sa spúšťajú v nástroji Power Query, a načítanie výsledku do cieľa.
Nasledujúci diagram skúma proces, ktorý prebieha, keď je dotaz vyhodnotený v Power Query.
- Skript M, ktorý sa nachádza v pokročilom editore, sa odosiela do enginu Power Query. Súčasťou sú aj ďalšie dôležité informácie, ako sú napríklad poverenia a úrovne ochrany osobných údajov zdrojov údajov.
- Power Query určuje, aké dáta je potrebné extrahovať zo zdroja dát, a odosiela požiadavku na zdroj dát.
- Zdroj dát reaguje na požiadavku od Power Query prenosom požadovaných dát do Power Query.
- Power Query prijíma prichádzajúce dáta zo zdroja dát a v prípade potreby vykonáva všetky transformácie pomocou enginu Power Query.
- Power Query načíta transformovaný výsledok do cieľa.
Nota
Tento postup zobrazuje dotaz, ktorý číta z SQL Server databázy. Pre dotaz bez externého zdroja údajov Power Query stále vyhodnotí M skript a vyprodukuje výsledok, neplatí však pre fázy požiadavky zdroja údajov a prenosu.
Ako postupné posúvanie dotazov optimalizuje vyhodnocovanie dotazov
Keď Power Query číta váš M skript, prechádza ho optimalizačným procesom, aby efektívnejšie vyhodnotil váš dotaz. V tomto procese určuje, ktoré kroky (transformácie) z vášho dotazu možno zaťažiť do vášho zdroja údajov. Tiež určuje, ktoré ďalšie kroky je potrebné vyhodnotiť pomocou enginu Power Query.
Tento proces optimalizácie sa nazýva skladanie dotazov. Postupné posúvanie dotazov preloží podporované transformácie jazyka M do operácií, ktoré môže zdroj údajov vykonávať. Power Query sa pokúsi spustiť v zdroji údajov čo najväčšiu časť dotazu a vyhodnotí všetky zostávajúce transformácie v nástroji Power Query.
Dôležité
Všetky pravidlá z jazyka Power Query M formulového jazyka (známeho aj ako jazyk M) sa dodržiavajú. Lenivé hodnotenie hrá počas procesu optimalizácie predovšetkým lenivú rolu. V tomto procese Power Query rozumie, aké konkrétne transformácie z vášho dotazu je potrebné vyhodnotiť. Power Query tiež rozumie, ktoré iné transformácie nie je potrebné vyhodnocovať, pretože nie sú potrebné vo výstupe vášho dotazu.
Okrem toho, ak je zapojených viacero zdrojov, pri vyhodnocovaní dotazu sa berie do úvahy úroveň ochrany osobných údajov jednotlivých zdrojov údajov. Ďalšie informácie: V zákulisí brány firewall na ochranu osobných údajov
Nasledujúci diagram znázorňujú kroky, ktoré sa konajú v tomto procese optimalizácie.
- Skript M, ktorý sa nachádza v pokročilom editore, sa odosiela do enginu Power Query. Dodávajú sa tiež ďalšie dôležité informácie, ako sú napríklad poverenia a úrovne ochrany osobných údajov zdrojov údajov.
- Mechanizmus postupného posúvania dotazov odosiela žiadosti o metaúdaje na určenie možností zdroja údajov, schém tabuliek, vzťahov medzi tabuľkami v zdroji údajov a ďalších metaúdajov.
- Na základe prijímaných metaúdajov mechanizmus skladania dotazov určuje, aké informácie sa majú extrahovať zo zdroja údajov a ktoré transformácie sa musia vykonať v Power Query nástroji. Odosiela pokyny do dvoch ďalších súčastí, ktoré načítajú údaje zo zdroja údajov, a v prípade potreby transformujú prichádzajúce údaje v nástroji Power Query.
- Keď interné súčasti Power Query prijmú pokyny, Power Query odošle žiadosť do zdroja údajov pomocou dotazu zdroja údajov.
- Zdroj dát prijíma požiadavku od Power Query a prenáša dáta do enginu Power Query.
- Keď sú údaje v Power Query, transformačný nástroj v Power Query (tiež známy ako mashup modul) vykoná transformácie, ktoré nebolo možné zbaliť späť alebo vyložiť do zdroja údajov.
- Power Query načíta transformovaný výsledok do cieľa.
Nota
V závislosti od transformácií a zdroja údajov použitého v skripte jazyka M Power Query určí, či sa prichádzajúce údaje majú streamovať alebo do medzipamäte.
Ako funguje postupné posúvanie dotazov v Power Query
Cieľom postupného posúvania dotazov je vypnúť alebo odoslať čo najväčšiu časť vyhodnotenia dotazu do zdroja údajov, ktorý dokáže vypočítať transformácie dotazu.
Mechanizmus postupného posúvania dotazov dosahuje tento cieľ prekladom M skriptu do jazyka, ktorý zdroj údajov dokáže interpretovať a spúšťať. Potom vyšle hodnotenie do vášho dátového zdroja a výsledok tohto hodnotenia odošle do Power Query.
Táto operácia často poskytuje rýchlejšie vykonávanie dotazov než extrahovanie všetkých potrebných dát zo zdroja dát a vykonávanie všetkých transformácií v engine Power Query.
Keď použijete get data experience, Power Query vás prevedie procesom, ktorý vám nakoniec umožní pripojiť sa k zdroju dát. Pri tom Power Query používa sériu funkcií v jazyku M, ktoré sú kategorizované ako prístup k dátovým funkciám. Tieto konkrétne funkcie používajú mechanizmy a protokoly na pripojenie k zdroju údajov pomocou jazyka, ktorý zdroj údajov dokáže pochopiť.
Pri transformáciách po funkcii zdroja údajov mechanizmus skladania dotazov kontroluje, či ich môže namiesto spracovania v nástroji Power Query vyťažiť zo zdroja údajov.
Dôležité
Funkcie zdroja údajov, ktoré sa bežne zobrazujú ako krok Zdroja dotazu, dotazovanie údajov na zdroj údajov v jeho natívnom jazyku. V prípade transformácií po funkcii zdroja údajov Power Query sa pokúsi o postupné posúvanie dotazov iba vtedy, keď ho podporujú konektory a transformácie. Tento mechanizmus môže preložiť a skombinovať podporované transformácie do jedného dotazu zdroja údajov.
Výsledky postupného posúvania dotazov v Power Query
V závislosti od štruktúry dotazu môžu existovať tri možné výsledky mechanizmu postupného posúvania dotazov:
| Výsledok postupného posúvania dotazov | Spracovanie v zdroji údajov | Spracovanie v nástroji Power Query |
|---|---|---|
| Úplné postupné posúvanie dotazov | Zdroj údajov spracuje všetky transformácie dotazov. | V nástroji Power Query dochádza k minimálnemu spracovaniu. |
| Postupné postupné posúvanie čiastočných dotazov | Zdroj údajov spracuje transformácie, ktoré Power Query, sa môžu preložiť do jazyka natívneho dotazu. | Nástroj Power Query spracuje zostávajúce transformácie. |
| Žiadne postupné posúvanie dotazov | Zdroj údajov vráti požadované zdrojové údaje bez spracovania transformácií dotazu. | Nástroj Power Query spracuje všetky požadované transformácie. |
Zdroje údajov, ktoré podporujú postupné posúvanie dotazov
Podpora postupného posúvania dotazov závisí od konektora, zdroja údajov a transformácií v dotaze. Konektory pre štruktúrované zdroje údajov s možnosťami spracovania dotazov, ako napríklad SQL Server a informačný kanál OData, zvyčajne podporujú postupné posúvanie dotazov. Zdroje bez nástroja na dotazy, ako napríklad CSV alebo Excel súbory, nepodporujú postupné posúvanie dotazov.
Počas optimalizácie môže nástroj Power Query zmeniť poradie krokov dotazu. Použitie zdroja údajov s väčším množstvom prostriedkov na spracovanie a funkciami postupného posúvania dotazov môže skrátiť časy načítania dotazov, pretože spracovanie prebieha v zdroji údajov namiesto v nástroji Power Query.
Overenie postupného posúvania dotazov v službe Power Query Online
V Power Query Online použite indikátory postupného posúvania dotazov vedľa použitých krokov na identifikáciu postupného posúvania krokov. Plán dotazov môžete použiť aj na zobrazenie operácií, ktoré sa spúšťajú v zdroji údajov a ktoré operácie sa spúšťajú v nástroji Power Query. Tieto funkcie sú k dispozícii len v Power Query Online.
Ak je to k dispozícii, použite dotaz Zobraziť natívny dotaz alebo Zobraziť zdroj údajov na kontrolu žiadosti, ktorú Power Query odošle do zdroja údajov. Dostupnosť závisí od konektora.