Yleiskatsaus kyselyn arviointiin ja kyselyn delegoinniin lähteeseen Power Queryssa
Tässä artikkelissa annetaan perustiedot siitä, miten M-kyselyitä käsitellään ja miten ne muutetaan tietolähdepyynnöiksi.
Power Query M -komentosarja
Mikä tahansa kysely, riippumatta siitä, onko se power Queryn luoma, jonka olet kirjoittanut manuaalisesti laajennetussa editorissa tai syötetty käyttämällä tyhjää asiakirjaa, koostuu Power Query M -kaavakielen funktioista ja syntaksista. Power Query -moduuli tulkitsee tämän kyselyn ja laskee sen tulosten tulostamiseksi. M-komentosarja toimii ohjejoukkona, jota tarvitaan kyselyn arviointiin.
Vihje
Voit ajatella M-komentosarjaa reseptinä, joka kuvaa tietojen valmistelua.
Yleisin tapa luoda M-komentosarja on käyttää Power Query -editoria. Kun esimerkiksi muodostat yhteyden tietolähteeseen, kuten SQL Server -tietokantaan, huomaa näytön oikeassa reunassa, että käytössä olevat vaiheet -osa on annettu. Tässä osiossa näytetään kaikki kyselyssä käytetyt vaiheet tai muunnokset. Tässä mielessä Power Query -editori toimii käyttöliittymänä, jonka avulla voit luoda asianmukaisen M-komentosarjan haluamiasi muunnoksia varten ja varmistaa, että käyttämäsi koodi on kelvollinen.
Muistiinpano
M-komentosarjaa käytetään Power Query -editorissa seuraaviin:
- 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.
Nämä vaiheiden nimet ovat kutsumanimet, joiden avulla voit tarkastella Power Queryn luomaa M-komentosarjaa. Koko M-komentosarjan voi tarkastella useilla tavoilla. Power Queryssa voit valita Täpsem redaktor Näkymä-välilehdessä. Voit myös valita Täpsem redaktor Kysely-ryhmästä Aloitus-välilehdeltä. Joissakin Power Queryn versioissa voit myös muuttaa kaavarivin näkymää näyttämään kyselyn komentosarjan siirtymällä Näytä-välilehteen ja valitsemalla Asettelu-ryhmästä Komentosarjanäkymän>kyselykomentosarja.
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 ylimääräiset merkit rivitetään vaiheiden nimien ympärille M:ssä, mutta näitä merkkejä ei näytetä käytössä oleissa 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.
Power Query -editorissa kyselyyn tekemäsi muutokset päivittävät automaattisesti kyselyn M-komentosarjan. 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ä.
Vaikka suosittelemme, että luot M-komentosarjan kaikki tai suurimman osan niistä Power Query -editorin avulla, voit lisätä tai muokata M-komentosarjan osia manuaalisesti. Jos haluat lisätietoja M-kielestä, siirry viralliselle M-kielen asiakirjasivustolle.
Muistiinpano
M-komentosarja, jota kutsutaan myös M-koodiksi, on termi, jota käytetään missä tahansa koodissa, joka käyttää Power Query M -kieltä. Tämän artikkelin kontekstissa M-komentosarja viittaa myös Koodiin, joka löytyy Power Query -kyselystä ja jota voi käyttää laajennetun editorin ikkunan tai kaavarivin komentosarjanäkymän kautta.
Kyselyn arviointi Power Queryssa
Seuraavassa kaaviossa tutkitaan prosessia, joka tapahtuu, kun kysely arvioidaan Power Queryssa.
- Laajennetun editorin sisällä oleva M-komentosarja lähetetään Power Query -moduuliin. Muita tärkeitä tietoja on myös, kuten tunnistetiedot ja tietolähteen yksityisyystasot.
- Power Query määrittää, mitä tietoja tietolähteestä on poimittava, ja lähettää pyynnön tietolähteeseen.
- Tietolähde vastaa pyyntöön Power Querysta siirtämällä pyydetyt tiedot Power Queryyn.
- Power Query vastaanottaa saapuvat tiedot tietolähteestä ja tekee tarvittaessa muunnoksia Power Query -moduulin avulla.
- Edellisestä kohdasta saadut tulokset ladataan kohdesijaintiin.
Muistiinpano
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-komentosarjan, se suorittaa komentosarjan optimointiprosessin avulla, jotta kyselyäsi voidaan arvioida tehokkaammin. Tässä prosessissa määritetään, mitkä kyselyn vaiheet (muunnokset) voidaan ladata tietolähteeseen. Se myös määrittää, mitkä muut vaiheet on arvioitava Power Query -moduulin avulla. Tätä optimointiprosessia kutsutaan kyselyn delegoinniksi lähteeseen, jossa Power Query yrittää työntää mahdollisimman paljon suoritusta tietolähteeseen kyselyn suorituksen optimoimiseksi.
Tärkeä
Kaikkia Power Query M -kaavakielen sääntöjä (tunnetaan myös M-kielenä) noudatetaan. Erityisesti laiska arviointi on tärkeässä roolissa optimointiprosessin aikana. Tässä prosessissa Power Query ymmärtää, mitä kyselyn tiettyjä muunnoksia on arvioitava. Power Query ymmärtää myös, mitä muita muunnoksia ei tarvitse arvioida, koska niitä ei tarvita kyselyn tuloksessa.
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.
- Laajennetun editorin sisällä oleva M-komentosarja lähetetään Power Query -moduuliin. 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.
- Saatujen metatietojen perusteella kyselyn delegointi lähteeseen -mekanismi määrittää, mitä tietoja tietolähteestä poimitaan ja mitä muunnoksia Power Query -moduulissa täytyy tapahtua. Se lähettää ohjeet kahteen muuhun osaan, jotka huolehtivat tietojen noutamisesta tietolähteestä ja saapuvien tietojen muuntamisesta Power Query -moduulissa tarvittaessa.
- Kun Power Queryn sisäiset osat saavat ohjeet, Power Query lähettää pyynnön tietolähteelle tietolähdekyselyn avulla.
- Tietolähde vastaanottaa pyynnön Power Querysta ja siirtää tiedot Power Query -moduuliin.
- Kun tiedot ovat Power Queryn sisällä, Power Queryn sisällä oleva muunnosmoduuli (eli koostemoduuli) tekee muunnoksia, joita ei voitu delegoida takaisin tai poistaa latauksesta tietolähteeseen.
- Edellisestä kohdasta saadut tulokset ladataan kohdesijaintiin.
Muistiinpano
M-komentosarjassa käytettävistä muunnoksista ja tietolähteestä riippuen Power Query määrittää, suoratoistaako tai puskuroiko se saapuvia tietoja.
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, jonka tietolähteesi voi tulkita ja suorittaa. Tämän jälkeen se siirtää arvioinnin tietolähteeseen ja lähettää tämän arvioinnin tuloksen Power Queryen.
Tämä toiminto tarjoaa usein nopeammin kyselyn suorittamisen kuin kaikkien vaadittujen tietojen poimimisen tietolähteestä ja kaikkien Power Query -moduulissa vaadittujen muunnosten suorittamisen.
Kun käytät Nouda tiedot -käyttökokemusta, Power Query opastaa sinua prosessissa, jonka avulla voit lopulta muodostaa yhteyden tietolähteeseen. Kun teet näin, Power Query käyttää tietofunktioiden käyttämiseksi luokiteltuja funktioita M-kielellä. 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 sitten, voidaanko ne ladata tietolähteeseen sen sijaan, että niitä käsiteltä voitaisiin käsitellä Power Query -moduulin avulla.
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 kyselyssäsi tietolähdefunktion jälkeen käytetyissä muunnoksen toiminnoissa, jotta ne voidaan kääntää ja yhdistää yhdeksi tietolähdekyselyksi tai niin moneen muunnokseen, jotka voidaan purkaa tietolähteeseen.
Kyselyn rakenteen mukaan kyselyn delegointimekanismilla voi olla kolme mahdollista tulosta:
- Koko kyselyn delegointi lähteeseen: Kun kaikki kyselyn muunnokset siirretään takaisin tietolähteeseen ja käsittely onnistuu vain vähän Power Query -moduulissa.
- Kyselyn osittainen delegointi lähteeseen: Kun kyselyssä on vain muutamia muunnoksia, ei kaikkia, voidaan lähettää takaisin tietolähteeseen. Tässä tapauksessa tietolähteessä tehdään vain alijoukko muunnoksista, ja loput kyselyn muunnoksista tehdään Power Query -moduulissa.
- 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 noutaa raakatiedot tietolähteestä ja käyttää Power Query -moduulia halutun tuloksen saavuttamiseen käsittelemällä vaaditut muunnokset Power Query -moduulin tasolla.
Muistiinpano
Kyselyn delegointi lähteeseen -mekanismi on ensisijaisesti käytettävissä rakenteisten tietolähteiden liittimien muodossa, mutta ei pelkästään Microsoft SQL Serverissä ja OData-syötteessä. Optimointivaiheessa moduuli saattaa joskus järjestää kyselyn vaiheet uudelleen.
Sellaisen tietolähteen hyödyntäminen, jossa on enemmän käsittelyresursseja ja jonka kyselyn delegointi lähteeseen -ominaisuudet voivat nopeuttaa kyselyn latausaikoja, kun käsittely tapahtuu tietolähteessä eikä Power Query -moduulissa.
Liittyvä sisältö
Yksityiskohtaiset esimerkit kyselyn delegointi lähteeseen -mekanismin kolmesta mahdollisesta tuloksesta on kohdassa Kyselyn delegointi lähteeseen -esimerkit.
Lisätietoja Käytössä olevat vaiheet - ruudusta löytyneistä Kyselyn delegointi lähteeseen -ilmaisimista on kohdassa Kyselyn delegointi lähteeseen -ilmaisimet.