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, huomaat näytön oikeassa reunassa, että käytössä olevia vaiheita kutsutaan osioksi. 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ä.

Kuva käytössä olevista vaiheista ja tietojen esikatselunäkymästä.

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äilytetut ylimmät rivit: Suodattaa taulukon niin, että taulukon yläosasta säilytetään vain tietty määrä rivejä.

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 Laajennettu editoriNäkymä-välilehdessä. Voit myös valita Laajennettu editoriKysely-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.

Kuva, jossa on koko M-komentosarja ja käytössä olevien vaiheiden vastaavat nimet.

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.

Kaikki kyselyäsi Power Query -editorissa tekemäsi muutokset päivittävät automaattisesti kyselyn M-komentosarjan. Jos esimerkiksi käytät aloituspisteenä edellistä kuvaa ja muutat Säilytetyt ylimmät rivit -vaiheen nimen ylimmäksi 20 riviksi, tämä muutos päivitetään automaattisesti komentosarjanäkymässä.

Kuva, jossa käytössä oleva vaiheen nimi on muutettu 20 ylimmäksi riviksi, mikä myös päivittää M-komentosarjan.

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 M-kieltä käyttävässä koodissa. 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.

Kyselyn arviointikaavio yleiskatsauksena.

  1. 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.
  2. Power Query määrittää, mitä tietoja tietolähteestä on poimittava, ja lähettää pyynnön tietolähteeseen.
  3. Tietolähde vastaa pyyntöön Power Querysta siirtämällä pyydetyt tiedot Power Queryyn.
  4. Power Query vastaanottaa saapuvat tiedot tietolähteestä ja tekee tarvittaessa muunnoksia Power Query -moduulin avulla.
  5. Edellisestä kohdasta saadut tulokset ladataan kohdesijaintiin.

Muistiinpano

Tässä esimerkissä esitellään kysely, jossa on SQL-tietokanta tietolähteenä, mutta konsepti koskee kyselyjä, joissa on tietolähde tai ei ole 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.

Kyselyn arviointikaavio, jossa selitetään optimointiprosessi.

  1. 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.
  2. 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.
  3. 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.
  4. Kun Power Queryn sisäiset osat ovat saaneet ohjeet, Power Query lähettää pyynnön tietolähteelle tietolähdekyselyn avulla.
  5. Tietolähde vastaanottaa pyynnön Power Querysta ja siirtää tiedot Power Query -moduuliin.
  6. 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.
  7. Edellisestä kohdasta saadut tulokset ladataan kohdesijaintiin.

Muistiinpano

M-komentosarjassa käytettävistä muunnoksista ja tietolähteestä riippuen Power Query määrittää, suoratoistaako vai 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 paljon nopeamman 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.

Seuraavat vaiheet

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.