Muistiinpano
Tämän sivun käyttö edellyttää valtuutusta. Voit yrittää kirjautua sisään tai vaihtaa hakemistoa.
Tämän sivun käyttö edellyttää valtuutusta. Voit yrittää vaihtaa hakemistoa.
Tässä artikkelissa annetaan perustiedot siitä, miten M-kyselyitä käsitellään ja miten ne muutetaan tietolähdepyynnöiksi.
Power Query M script
Mikä tahansa kysely, olipa se Power Query:n luoma, manuaalisesti kirjoitettu edistyneessä editorissa tai syötetty tyhjällä dokumentilla, koostuu funktioista ja syntaksista Power Query M kaavakielestä. Tämä kysely tulkitaan ja arvioidaan Power Query -moottorin toimesta, jotta tulokset saadaan. M-komentosarja toimii ohjejoukkona, jota tarvitaan kyselyn arviointiin.
Vihje
Voit ajatella M-komentosarjaa reseptinä, joka kuvaa tietojen valmistelua.
Yleisin tapa luoda M-skripti on käyttää Power Query -editoria. Esimerkiksi, kun yhdistät tietolähteeseen, kuten SQL Server-tietokantaan, huomaa näytön oikeassa reunassa osio nimeltä applied steps. Tässä osiossa näytetään kaikki kyselyssä käytetyt vaiheet tai muunnokset. Tässä mielessä Power Query -editori toimii käyttöliittymänä, joka auttaa luomaan sopivan M-skriptin niille muunnoksille, joita etsit, ja varmistaa, että käyttämäsi koodi on pätevä.
Huomautus
M-skriptiä käytetään Power Query -editorissa seuraaviin tarkoituksiin:
- Näytä kysely vaihesarjana ja salli uusien vaiheiden luominen tai muokkaaminen.
- Näytä kaavionäkymä.
Edellisessä kuvassa korostetaan käytössä olevia vaiheita -osaa, joka sisältää seuraavat vaiheet:
- Lähde: muodostaa yhteyden tietolähteeseen. Tässä tapauksessa kyseessä on yhteys SQL Server -tietokantaan.
- Siirtyminen: siirtyy tiettyyn taulukkoon tietokannassa.
- Muiden sarakkeiden poistaminen: Valitsee, mitkä taulukon sarakkeet säilytetään.
- Lajiteltu rivit: Lajittelee taulukon käyttäen yhtä tai useampaa saraketta.
- Säilytetään ylimmät rivit: Suodattaa taulukon niin, että vain jotkin rivit pysyvät taulukon yläosassa.
Tämä askelnimien joukko on ystävällinen tapa nähdä M-skripti, jonka Power Query on sinulle luonut. Koko M-komentosarjan voi tarkastella useilla tavoilla. Power Query:ssa voit valita Laajennettu editoriView-välilehdeltä. Voit myös valita Laajennettu editoriQuery-ryhmästä Home-välilehdellä. Joissakin Power Query-versioissa voit myös muuttaa kaavapalkin näkymää näyttämään kyselyskriptin menemällä välilehteen View ja Layout-ryhmästä valitsemalla Script view>Query script.
Useimmat Käytössä olevat vaiheet -ruudussa olevista nimistä ovat myös käytössä samalla tavalla kuin M-komentosarjassa. Kyselyn vaiheet nimetään käyttäen tunnisteita M-kielessä. Joskus M:ssä askelnimien ympärillä on ylimääräisiä merkkejä, mutta näitä merkkejä ei näytetä sovellettuissa vaiheissa. Esimerkki on #"Kept top rows", joka luokitellaan lainausmerkeissä olevaksi tunnisteeksi näiden ylimääräisten merkkien vuoksi. Lainausmerkeissä olevaa tunnistetta voidaan käyttää sallimaan minkä tahansa nollan tai Unicode-merkin sarja tunnisteena, mukaan lukien avainsanat, välilyönnit, kommentit, operaattorit ja erottijat. Jos haluat lisätietoja M-kielen tunnisteista , siirry sanastoiseen rakenteeseen.
Kaikki muutokset, jotka teet kyselyösi Power Query -editorin kautta, päivittävät automaattisesti kyselyn M-skriptin. Jos esimerkiksi vaihdat edellisen kuvan aloituspisteeksi Säilyttäneet ylimmät rivit -vaiheen nimen ylimmäksi 20 riviksi, tämä muutos päivitetään automaattisesti komentosarjanäkymässä.
Suosittelemme käyttämään Power Query -editoria luodaksesi kaiken tai suurimman osan M-skriptistä puolestasi, mutta voit lisätä tai muokata M-skriptin osia manuaalisesti. Jos haluat lisätietoja M-kielestä, siirry viralliselle M-kielen asiakirjasivustolle.
Huomautus
M-skripti, jota kutsutaan myös M-koodiksi, on termi, jota käytetään kaikesta koodista, joka käyttää Power Query M -kieltä. Tämän artikkelin yhteydessä M-skripti viittaa myös koodiin, joka löytyy Power Query-kyselystä ja on käytettävissä edistyneen editorin ikkunan tai kaavan skriptinäkymän kautta.
Kyselyarviointi Power Query:ssä
Seuraava kaavio tutkii prosessia, joka tapahtuu, kun kysely arvioidaan Power Query:ssä.
- M-skripti, joka löytyy kehittyneestä editorista, lähetetään Power Query -moottorille. Muita tärkeitä tietoja on myös, kuten tunnistetiedot ja tietolähteen yksityisyystasot.
- Power Query määrittää, mitä dataa tulee poimia tietolähteestä ja lähettää pyynnön tietolähteelle.
- Tietolähde vastaa Power Query:n pyyntöön siirtämällä pyydetyn datan Power Query:lle.
- Power Query vastaanottaa saapuvat tiedot tietolähteestä ja tekee tarvittaessa muunnokset Power Query -moottorilla.
- Edellisestä kohdasta saadut tulokset ladataan kohdesijaintiin.
Huomautus
Tässä esimerkissä esitellään kysely, jonka tietolähteenä on SQL-tietokanta, mutta konsepti koskee kyselyjä, joissa on tietolähde tai ei sitä.
Kun Power Query lukee M-skriptisi, se suorittaa skriptin optimointiprosessin läpi arvioidakseen kyselysi tehokkaammin. Tässä prosessissa määritetään, mitkä kyselyn vaiheet (muunnokset) voidaan ladata tietolähteeseen. Se myös määrittää, mitkä muut vaiheet tulee arvioida Power Query -moottorin avulla. Tätä optimointiprosessia kutsutaan nimellä kyselyn taittaminen, jossa Power Query pyrkii työntämään mahdollisimman suuren osan suorituksesta tietolähteelle optimoidakseen kyselysi suorituksen.
Tärkeää
Noudatetaan kaikkia sääntöjä Power Query M-kaavakielestä (tunnetaan myös nimellä M-kieli). Erityisesti laiska arviointi on tärkeässä roolissa optimointiprosessin aikana. Tässä prosessissa Power Query ymmärtää, mitkä erityiset muutokset kyselystäsi tulee arvioida. Power Query ymmärtää myös, mitkä muut muunnokset eivät tarvitse arvioida, koska niitä ei tarvita kyselyn tulosteessa.
Lisäksi kun lähteitä on useita, kunkin tietolähteen tietosuojataso otetaan huomioon kyselyn arvioinnissa. Lisätietoja: Tietosuojan palomuurin kulissien takana
Seuraavassa kaaviossa esitellään tämän optimointiprosessin vaiheet.
- M-skripti, joka löytyy kehittyneestä editorista, lähetetään Power Query -moottorille. Lisäksi annetaan muita tärkeitä tietoja, kuten tunnistetiedot ja tietolähteen yksityisyystasot.
- Kyselyn delegointi lähteeseen -mekanismi lähettää tietolähteeseen metatietopyyntöjä, joiden avulla määritetään tietolähteen ominaisuudet, taulukkorakenteet, eri taulukoiden väliset suhteet tietolähteessä ja paljon muuta.
- Saadun metatiedon perusteella kyselyn taittomekanismi määrittää, mitä tietoa datalähteestä poimitaan ja millaisia muunnoksia Power Query -moottorissa täytyy tehdä. Se lähettää käskyt kahdelle muulle komponentille, jotka huolehtivat datan noutamisesta tietolähteestä ja tarvittaessa Power Query -moottoriin saapuvan datan muuntamisesta.
- Kun Power Query:n sisäiset osat saavat käskyt, Power Query lähettää pyynnön tietolähteelle tietolähdekyselyn avulla.
- Tietolähde vastaanottaa pyynnön Power Query:ltä ja siirtää tiedot Power Query-moottorille.
- Kun data on Power Query:n sisällä, Power Query:n muunnosmoottori (tunnetaan myös nimellä mashup-moottori) tekee muunnokset, joita ei voitu taittaa takaisin tai siirtää tietolähteeseen.
- Edellisestä kohdasta saadut tulokset ladataan kohdesijaintiin.
Huomautus
M-skriptissä käytetyistä muunnoksista ja tietolähteestä riippuen Power Query määrittää, suoratoistaako vai puskuroiko se saapuvaa dataa.
Kyselyn delegoinnin delegointi lähteeseen -yleiskatsaus
Kyselyn lähteeseen delegoinnin tavoitteena on purkaa tai työntää yhtä suuri osa kyselyn arvioinnista tietolähteeseen, joka voi laskea kyselyn muunnokset.
Kyselyn delegointi lähteeseen -mekanismi toteuttaa tämän tavoitteen kääntämällä M-komentosarjan kielelle, jota tietolähteesi voi tulkita ja suorittaa. Se ohjaa arvioinnin tietolähteeseesi ja lähettää tuloksen Power Query:lle.
Tämä operaatio tarjoaa usein nopeamman kyselysuorituksen kuin kaikkien tarvittavien tietojen poimiminen tietolähteestä ja kaikkien Power Query-moottorissa vaadittujen muunnosten suorittaminen.
Kun käytät get data experience Power Query ohjaa sinua prosessin läpi, joka lopulta mahdollistaa yhteyden tietolähteeseesi. Tällöin Power Query käyttää M-kielen funktioita, jotka luokitellaan accessing data functions. Nämä tietyt funktiot käyttävät mekanismeja ja protokollia muodostaen yhteyden tietolähteeseen käyttämällä kieltä, jota tietolähteesi ymmärtää.
Kyselyssä olevat vaiheet ovat kuitenkin vaiheita tai muunnoksia, joita kyselyn delegointi lähteeseen -mekanismi yrittää optimoida. Se tarkistaa, voidaanko ne siirtää tietolähteeseesi sen sijaan, että niitä käsiteltäisiin Power Query -moottorilla.
Tärkeää
Kaikki tietolähdefunktiot, jotka näytetään yleensä kyselyn Lähde-vaiheena, kyselevät tietolähteen tietoja omalla kielellään. Kyselyn delegointi lähteeseen -mekanismia käytetään kaikissa muunnoksen kohdalla, joita kyselyssä käytetään tietolähdefunktion jälkeen. Sen jälkeen ne voidaan kääntää ja yhdistää yksittäiseksi tietolähdekyselyksi tai niin moneksi muunnokseksi kuin tietolähteeseen voidaan ladata.
Kyselyn rakenteen mukaan kyselyn delegointimekanismilla voi olla kolme mahdollista tulosta:
- Täydellinen kyselyn taittelu: Kun kaikki kyselyn muunnokset palautetaan tietolähteelle ja Power Query-moottorissa tapahtuu minimaalinen käsittely.
- Kyselyn osittainen delegointi lähteeseen: Kun kyselyssä on vain muutamia muunnoksia, ei kaikkia, voidaan lähettää takaisin tietolähteeseen. Tässä tapauksessa vain osa muunnoksistasi tehdään tietolähteessäsi ja loput kyselymuunnoksista Power Query -moottorissa.
- Ei kyselyn delegointia lähteeseen: Kun kysely sisältää muunnoksia, joita ei voi kääntää tietolähteen alkuperäiselle kyselykielelle, joko koska muunnoksia ei tueta tai yhdistin ei tue kyselyn delegointia lähteeseen. Tässä tapauksessa Power Query saa raakadatan lähteestäsi ja käyttää Power Query -moottoria saavuttaakseen halutun tuloksen käsittelemällä tarvittavat muunnokset Power Query -moottorin tasolla.
Huomautus
Kyselyn taittomekanismi on pääasiassa saatavilla rakenteellisten tietolähteiden liittimissä, kuten SQL Server ja OData Feed. Optimointivaiheessa moduuli saattaa joskus järjestää kyselyn vaiheet uudelleen.
Tietolähteen käyttäminen, jolla on enemmän prosessointiresursseja ja kyselyjen taittokykyä, voi nopeuttaa kyselyjen latausaikoja, koska käsittely tapahtuu tietolähteessä eikä Power Query -moottorissa.