Jaa kautta


Kyselyn delegointi lähteeseen -esimerkit

Tässä artikkelissa on joitakin esimerkkiskenaarioita kullekin kyselyn delegoinnin delegoinnin kolmesta mahdollisesta tuloksesta. Se sisältää myös ehdotuksia siitä, miten saat kaiken irti kyselyn delegointimekanismista ja miten se voi vaikuttaa kyselyihisi.

Skenaario

Kuvittele skenaario, jossa Azure Synapse Analytics SQL -tietokannan Wide World Importers -tietokannan avulla sinun on luotava Power Query kysely, joka muodostaa yhteyden taulukkoon fact_Sale ja noutaa 10 viimeisintä myyntiä vain seuraavilla kentillä:

  • Myynnin avain
  • Asiakkaan avain
  • Laskun päivämäärän avain
  • Kuvaus
  • Määrä

Note

Tässä artikkelissa käytetään esittelytarkoituksessa tietokantaa, joka on kuvattu opetusohjelmassa Wide World Importers -tietokannan lataamisesta Azure Synapse Analyticsiin. Suurin ero tässä artikkelissa on se, että fact_Sale taulukossa on vain vuoden 2000 tiedot, yhteensä 3 644 356 riviä.

Vaikka tulokset eivät välttämättä vastaa täsmälleen tuloksia, jotka saat noudattamalla Azure Synapse Analytics -dokumentaation opetusohjelmaa, tämän artikkelin tavoitteena on esitellä keskeisiä käsitteitä ja vaikutusta, joita kyselyn delegointi lähteeseen voi tehdä kyselyissäsi.

Näyttökuva Wide World Importers Azure Synapse Analytics -tietokannan fact_Sale-taulukosta johdetusta esimerkkitulostaulukosta.

Tässä artikkelissa esitellään kolme tapaa saavuttaa sama tulos kyselyn delegoinnin delegoinnin eri tasoilla:

  • Ei kyselyn delegointia
  • Kyselyn osittainen delegointi lähteeseen
  • Kyselyn täysi delegointi lähteeseen

Esimerkki ei kyselyn delegoinnista lähteeseen

Tärkeää

Kyselyillä, jotka perustuvat yksinomaan jäsentämättömiin tietolähteisiin tai joissa ei ole laskentamoduulia, kuten CSV- tai Excel-tiedostoja, ei ole kyselyn lähteeseen -ominaisuuksia. Tämä tarkoittaa sitä, että Power Query arvioi kaikki tarvittavat tietojen muunnokset Power Query moduulin avulla.

Kun olet muodostanut yhteyden tietokantaan ja siirtynyt taulukkoonfact_Sale, valitset Säilytä alarivit -muunnoksen, joka löytyy Aloitus-välilehdenVähennä rivejä -ryhmästä.

Näyttökuva Säilytä alarivit -muunnoksesta, joka löytyy aloitusvälilehden Vähennä rivejä -ryhmästä.

Kun olet valinnut tämän muunnoksen, näkyviin tulee uusi valintaikkuna. Tässä uudessa valintaikkunassa voit syöttää säilytettävien rivien määrän. Kirjoita tässä tapauksessa arvo 10 ja valitse sitten OK.

Näyttökuva Säilytä alarivit -ruudusta, johon kirjoitat arvon 10 Säilytä alarivit -valintaikkunassa.

Vihje

Tässä tapauksessa tämän toiminnon suorittaminen tuottaa viimeisen 10 myynnin tuloksen. Useimmissa skenaarioissa on suositeltavaa antaa selkeämpi logiikka, joka määrittää, mitkä rivit katsotaan viimeisiksi, käyttämällä lajittelutoimintoa taulukossa.

Valitse seuraavaksi Valitse sarakkeet -muunnos, joka löytyy Aloitus-välilehdenHallitse sarakkeita -ryhmästä. Voit sitten valita taulukosta sarakkeet, jotka haluat säilyttää, ja poistaa loput.

Näyttökuva Aloitus-valintanauhasta, jossa valitset Valitse sarakkeet -muunnoksen esimerkille, jossa ei ole kyselyä lähteeseen.

Valitse lopuksi Valitse sarakkeet -valintaikkunassa Sale Key, Customer Key, Invoice Date Key, ja DescriptionQuantitysarakkeet ja valitse sitten OK.

Näyttökuva Valitse sarakkeet -ruudusta, jossa valitset Myyntiavain-, Asiakasavain-, Laskun päivämääräavain-, Kuvaus- ja Määrä-sarakkeet.

Seuraava koodiesimerkki on luomasi kyselyn täydellinen M-komentosarja:

let
    Source = Sql.Database(ServerName, DatabaseName),
    Navigation = Source{[Schema = "wwi", Item = "fact_Sale"]}[Data],
    #"Kept bottom rows" = Table.LastN(Navigation, 10),
    #"Choose columns" = Table.SelectColumns(
        #"Kept bottom rows",
        {"Sale Key", "Customer Key", "Invoice Date Key", "Description", "Quantity"}
    )
in
    #"Choose columns""

Ei kyselyn delegointia lähteeseen: Kyselyn arvioinnin ymmärtäminen

Huomaa Power Query editorin Käytössä olevat vaiheet -kohdassa, että Säilytetyt alimpien rivien ja Valitse sarakkeet kyselyn delegointi lähteeseen -ilmaisimet on merkitty vaiheiksi, jotka arvioidaan tietolähteen ulkopuolella tai toisin sanoen Power Query moduulissa.

Kyselyn käytössä olevat vaiheet -ruutu, jossa kyselyn delegointi lähteeseen -ilmaisimet esittelevät Säilytetyt alarivit ja Poistetut muut sarakkeet -vaiheet.

Voit napsauttaa hiiren kakkospainikkeella kyselyn viimeistä vaihetta, jonka nimi on Valitse sarakkeet, ja valita vaihtoehdon, jossa lukee Näytä kyselysuunnitelma. Kyselysuunnitelman tavoitteena on antaa sinulle yksityiskohtainen näkymä siitä, miten kyselysi suoritetaan. Lisätietoja tästä ominaisuudesta on kohdassa Kyselysuunnitelma.

Näyttökuva luodun kyselyn kyselysuunnitelmasta, jossa on useita solmuja, joista kaksi on suorakulmiossa, joka edustaa Power Query moduulin arvioimia solmuja.

Kutakin edellisen kuvan ruutua kutsutaan solmuksi. Solmu edustaa toiminnon erittelyä tämän kyselyn täyttämiseksi. Tietolähteitä edustavat solmut, kuten SQL Server edellisessä esimerkissä ja Value.NativeQuery solmu, edustavat, mikä kyselyn osa on ladattu tietolähteeseen. Power Query moduuli arvioi loput solmut, tässä tapauksessa Table.LastN ja Table.SelectColumns korostettuna edellisen kuvan suorakulmiossa. Nämä kaksi solmua edustavat kahta lisäämääsi muunnosta, Säilytetyt alarivit ja Valitse sarakkeet. Loput solmut edustavat toimintoja, jotka tapahtuvat tietolähdetasollasi.

Jos haluat nähdä tietolähteeseen lähetetyn tarkan pyynnön, valitse solmussa Näytä tiedotValue.NativeQuery.

Näyttökuva Value.NativeQuery-taulukosta löytyvästä SQL-lauseesta, joka edustaa kaikkien tietokannan fact_Sale-taulukon kenttien ja tietueiden pyyntöä.

Tämä tietolähdepyyntö on tietolähteen äidinkielellä. Tässä tapauksessa kyseinen kieli on SQL ja tämä lauseke edustaa pyyntöä kaikille taulukon riveille ja kentille fact_Sale .

Tämän tietolähdepyynnön avulla voit ymmärtää paremmin tarinaa, jonka kyselysuunnitelma yrittää välittää:

  • Sql.Database: Tämä solmu edustaa tietolähteen käyttöä. Muodostaa yhteyden tietokantaan ja lähettää metatietopyyntöjä ymmärtääkseen sen ominaisuudet.
  • Value.NativeQuery: Edustaa pyyntöä, jonka Power Query on luonut kyselyn täyttämiseksi. Power Query lähettää tietopyynnöt alkuperäisessä SQL-lausekkeessa tietolähteeseen. Tässä tapauksessa se edustaa kaikkia taulukon tietueita ja kenttiä (sarakkeita).fact_Sale Tässä skenaariossa tämä tapaus ei ole toivottava, koska taulukossa on miljoonia rivejä ja korko on vain viimeisen 10 joukossa.
  • Table.LastN: Kun Power Query vastaanottaa kaikki taulukon tietueet fact_Sale , se suodattaa taulukon Power Query moduulin avulla ja säilyttää vain 10 viimeistä riviä.
  • Table.SelectColumns: Power Query käyttää solmun tulosta Table.LastN ja käyttää uutta muunnosta nimeltä Table.SelectColumns, joka valitsee tietyt sarakkeet, jotka haluat säilyttää taulukosta.

Arviointia varten tämän kyselyn piti ladata kaikki rivit ja kentät taulukosta fact_Sale . Tämän kyselyn käsittely kesti keskimäärin 6 minuuttia ja 1 sekunti Power BI -tietovoiden vakioesiintymässä (joka vastaa tietojen arvioinnista ja lataamisesta tietovoihin).

Esimerkki osittaisesta kyselyn lähteestä

Kun olet muodostanut yhteyden tietokantaan ja siirtynyt taulukkoon fact_Sale , aloita valitsemalla sarakkeet, jotka haluat säilyttää taulukosta. Valitse Valitse sarakkeet -muunnos, joka löytyy Hallitse sarakkeita -ryhmästä Aloitus-välilehdestä . Tämän muunnoksen avulla voit eksplisiittisesti valita sarakkeet, jotka haluat säilyttää taulukosta, ja poistaa loput.

Näyttökuva Aloitus-valintanauhasta, jossa valitset Valitse sarakkeet -muunnoksen osittaisen kyselyn lähteeseen -esimerkille.

Valitse Valitse sarakkeet -valintaikkunassa Sale Key, Customer Key, Invoice Date Key, Descriptionja Quantity sarakkeet ja valitse sitten OK.

Näyttökuva Valitse sarakkeet -ruudusta, jossa valitset Myyntiavain-, Asiakasavain-, Laskun päivämääräavain-, Kuvaus- ja Määrä-sarakkeet osittaisen kyselyn delegointiin lähteeseen -esimerkissä.

Luot nyt logiikan, joka lajittelee taulukon niin, että viimeisin myynti on taulukon alareunassa. Valitse Sale Key sarake, joka on taulukon perusavain ja lisäävä järjestys tai indeksi. Lajittele taulukko käyttämällä vain tätä kenttää nousevassa järjestyksessä sarakkeen pikavalikosta.

Kuvakaappaus pikavalikosta, jossa lajittelet taulukon Myyntiavain-kentän nousevaan järjestykseen.

Valitse seuraavaksi taulukon kontekstivalikko ja valitse Säilytä alarivit muunnos.

Näyttökuva taulukon pikavalikosta, jossa valitset Säilytä alarivit -vaihtoehdon.

Kirjoita Säilytä alarivit -kohtaan arvo 10 ja valitse sitten OK.

Näyttökuva Säilytä alimmat rivit -valintaikkunasta, jossa syötearvoksi on syötetty arvo 10, jotta vain taulukon 10 alinta riviä säilytetään.

Seuraava koodiesimerkki on luomasi kyselyn täydellinen M-komentosarja:

let
    Source = Sql.Database(ServerName, DatabaseName),
    Navigation = Source{[Schema = "wwi", Item = "fact_Sale"]}[Data],
    #"Choose columns" = Table.SelectColumns(
        Navigation, 
        {"Sale Key", "Customer Key", "Invoice Date Key", "Description", "Quantity"}
    ),
    #"Sorted rows" = Table.Sort(#"Choose columns", {{"Sale Key", Order.Ascending}}),
    #"Kept bottom rows" = Table.LastN(#"Sorted rows", 10)
in
    #"Kept bottom rows"

Esimerkki osittaisesta kyselyn delegoinnista lähteeseen: Kyselyn arvioinnin ymmärtäminen

Kun tarkistat käytössä olevat vaiheet -ruudun, huomaat, että kyselyn delegointi lähteeseen -ilmaisimet osoittavat, Kept bottom rowsettä viimeksi lisäämäsi muunnos , on merkitty vaiheeksi, joka arvioidaan tietolähteen ulkopuolella tai toisin sanoen Power Query moduulissa.

Näyttökuva kyselyn Käytössä olevat vaiheet -ruudusta, jossa on kyselyn delegointi lähteeseen -ilmaisimet, jotka osoittavat, että Säilytetyt alimmat rivit on merkitty vaiheeksi, joka arvioidaan tietolähteen ulkopuolella.

Voit napsauttaa hiiren kakkospainikkeella kyselyn viimeistä vaihetta, nimeltä Kept bottom rows, ja valita Kyselysuunnitelma-vaihtoehdon , jotta ymmärrät paremmin, miten kyselysi voidaan arvioida.

Näyttökuva kyselysuunnitelmasta, jossa näkyy useita solmuja, joissa suorakulmion sisällä näkyvä Table.LastN-solmu on solmu, jonka arvioi Power Query moduuli eikä tietolähde.

Kutakin edellisen kuvan ruutua kutsutaan solmuksi. Solmu edustaa jokaista prosessia, jonka on tapahduttava (vasemmalta oikealle), jotta kyselysi voidaan arvioida. Jotkin näistä solmuista voidaan arvioida tietolähteessäsi, kun taas toiset, kuten solmu Table.LastN, jota edustaa Säilytetyt alarivit -vaihe, arvioidaan Power Query moduulin avulla.

Jos haluat nähdä tietolähteeseen lähetetyn tarkan pyynnön, valitse solmussa Näytä tiedotValue.NativeQuery.

Näyttökuva kyselysuunnitelmasta, jossa voit valita Näytä tiedot kohdassa

Tämä pyyntö on tietolähteen äidinkielellä. Tässä tapauksessa kyseinen kieli on SQL ja tämä lauseke edustaa pyyntöä kaikille riveille, ja vain taulukon pyydetyt kentät fact_Sale on järjestetty kentän mukaan Sale Key .

Tämän tietolähdepyynnön avulla voit ymmärtää paremmin tarinaa, jonka koko kyselysuunnitelma yrittää välittää. Solmujen järjestys on peräkkäinen prosessi, joka alkaa pyytämällä tietoja tietolähteestäsi:

  • Sql.Database: Muodostaa yhteyden tietokantaan ja lähettää metatietopyyntöjä ymmärtääkseen sen ominaisuudet.
  • Value.NativeQuery: Edustaa Power Queryn luomaa pyyntöä kyselyn täyttämiseksi. Power Query lähettää tietopyynnöt alkuperäisessä SQL-lausekkeessa tietolähteeseen. Tässä tapauksessa se edustaa kaikkia tietueita, ja vain tietokannan taulukon pyydetyt kentät fact_Sale on lajiteltu nousevaan järjestykseen kentän mukaan Sales Key .
  • Table.LastN: Kun Power Query vastaanottaa kaikki taulukon tietueet fact_Sale , se suodattaa taulukon Power Query moduulin avulla ja säilyttää vain 10 viimeistä riviä.

Arviointia varten tämän kyselyn piti ladata taulukosta fact_Sale kaikki rivit ja vain pakolliset kentät. Käsittely kesti keskimäärin 3 minuuttia ja 4 sekuntia Power BI -tietovoiden vakioesiintymässä (joka vastaa tietojen arvioinnista ja lataamisesta tietovoihin).

Esimerkki koko kyselyn lähteestä

Kun olet muodostanut yhteyden tietokantaan ja siirtynyt taulukkoon fact_Sale , aloita valitsemalla sarakkeet, jotka haluat säilyttää taulukosta. Valitse Valitse sarakkeet -muunnos, joka löytyy Hallitse sarakkeita -ryhmästä Aloitus-välilehdestä . Tämän muunnoksen avulla voit eksplisiittisesti valita sarakkeet, jotka haluat säilyttää taulukosta, ja poistaa loput.

Näyttökuva Valitse sarakkeet -muunnoksesta, jota käytetään koko kyselyn lähteeseen -esimerkissä.

Valitse Sale Key -kohdassa , Customer Key, Invoice Date Key, Descriptionja Quantity sarakkeet ja valitse sitten OK.

Näyttökuva, jossa näkyy Myyntiavain-, Asiakasavain-, Laskun päivämääräavain-, Kuvaus- ja Määrä-sarakkeet, jotka on valittu koko kyselyn delegointiin delegointiin liittyvää esimerkkiä varten.

Luot nyt logiikan, joka lajittelee taulukon niin, että viimeisin myynti on taulukon yläosassa. Valitse Sale Key sarake, joka on taulukon perusavain ja lisäävä järjestys tai indeksi. Lajittele taulukko vain käyttämällä tätä kenttää laskevassa järjestyksessä sarakkeen pikavalikosta.

Kuvakaappaus Myyntiavain-kentän kontekstivalikosta, jossa on korostettu Lajittele laskeva vaihtoehto.

Valitse seuraavaksi taulukon pikavalikko ja valitse Säilytä ylimmät rivit -muunnos.

Säilytä ylimmät rivit -vaihtoehto taulukon kontekstivalikossa.

Kirjoita Säilytä ylimmät rivit -kohtaan arvo 10 ja valitse sitten OK.

Näyttökuva Säilytä ylimmät rivit -valintaikkunasta, jossa syötearvoksi on syötetty arvo 10, jotta vain taulukon 10 ylintä riviä säilytetään.

Seuraava koodiesimerkki on luomasi kyselyn täydellinen M-komentosarja:

let
    Source = Sql.Database(ServerName, DatabaseName),
    Navigation = Source{[Schema = "wwi", Item = "fact_Sale"]}[Data],
    #"Choose columns" = Table.SelectColumns(
        Navigation, 
        {"Sale Key", "Customer Key", "Invoice Date Key", "Description", "Quantity"}
    ),
    #"Sorted rows" = Table.Sort(#"Choose columns", {{"Sale Key", Order.Descending}}),
    #"Kept top rows" = Table.FirstN(#"Sorted rows", 10)
in
    #"Kept top rows"

Esimerkki kyselyn delegoinnista lähteeseen: Kyselyn arvioinnin ymmärtäminen

Kun tarkistat käytössä olevien vaiheiden ruudun, huomaa, että kyselyn delegointi lähteeseen -ilmaisimet osoittavat, että lisäämäsi muunnokset, Valitse sarakkeet,Lajitellut rivit ja Säilytetyt ylimmät rivit on merkitty vaiheiksi, jotka arvioidaan tietolähteessä.

Kaikissa kyselyn vaiheissa on kuvake, joka osoittaa, että ne voidaan delegoida takaisin tietolähteeseen.

Voit napsauttaa hiiren kakkospainikkeella kyselyn viimeistä vaihetta, jonka nimi on Säilytetyt ylimmät rivit, ja valita vaihtoehdon, jossa lukee Kyselysuunnitelma.

Näyttökuva kyselysuunnitelmasta, jossa näkyy Value.NativeQueryn sisältö.

Tämä pyyntö on tietolähteen äidinkielellä. Tässä tapauksessa kyseinen kieli on SQL ja tämä lauseke edustaa pyyntöä kaikille taulukon riveille ja kentille fact_Sale .

Tämän tietolähdekyselyn avulla voit ymmärtää paremmin tarinaa, jonka koko kyselysuunnitelma yrittää välittää:

  • Sql.Database: Muodostaa yhteyden tietokantaan ja lähettää metatietopyyntöjä ymmärtääkseen sen ominaisuudet.
  • Value.NativeQuery: Edustaa Power Queryn luomaa pyyntöä kyselyn täyttämiseksi. Power Query lähettää tietopyynnöt alkuperäisessä SQL-lausekkeessa tietolähteeseen. Tässä tapauksessa tämä tarkoittaa pyyntöä vain taulukon 10 ylimmälle tietueelle fact_Sale , ja vain pakolliset kentät on lajiteltu laskevaan järjestykseen kentän avulla Sale Key .

Note

Vaikka T-SQL-kielellä ei ole lausetta, jota voitaisiin käyttää taulukon alimpien rivien VALITSEMISEEN, on olemassa TOP-lause, joka noutaa taulukon ylimmät rivit.

Arviointia varten tämä kysely lataa vain 10 riviä, joissa on vain taulukosta fact_Sale pyytämäsi kentät. Tämän kyselyn käsittely kesti keskimäärin 31 sekuntia Power BI -tietovoiden vakioesiintymässä (joka vastaa tietojen arvioinnista ja lataamisesta tietovuohin).

Suorituskyvyn vertailu

Jos haluat ymmärtää paremmin kyselyn delegointi lähteeseen -toiminnon vaikutuksen näissä kyselyissä, voit päivittää kyselyt, tallentaa kunkin kyselyn täydelliseen päivittämiseen kuluvan ajan ja verrata niitä. Yksinkertaisuuden vuoksi tässä artikkelissa on keskimääräiset päivitysajoitukset, jotka on tallennettu Power BI -tietovoiden päivitysmekaniikalla, kun muodostetaan yhteys erilliseen Azure Synapse Analytics -ympäristöön, jonka palvelutasona on DW2000c.

Kunkin kyselyn päivitysaika oli seuraava:

Esimerkki: Etiketti Aika sekunteina
Ei kyselyn delegointia Ei mitään 361
Kyselyn osittainen delegointi lähteeseen Osittainen 184
Kyselyn täysi delegointi lähteeseen Täysi 31

Kaavio, joka vertaa ei-delegoitua -kyselyn päivitysaikaa 361 sekunnissa, osittaisen kyselyn delegointia lähteeseen 184 sekunnissa ja täysin delegoidun kyselyn päivitysaikaa 31 sekunnissa.

Usein on niin, että kysely, joka taittuu kokonaan takaisin tietolähteeseen, on parempi kuin vastaavat kyselyt, jotka eivät taittaa kokonaan takaisin tietolähteeseen. Tähän voi olla monia syitä. Nämä syyt vaihtelevat kyselyn suorittamien muunnosten monimutkaisuudesta tietolähteessä toteutettuihin kyselyn optimointeihin, kuten indekseihin ja erilliseen tietojenkäsittelyyn sekä verkkoresursseihin. Kyselyn delegointi lähteeseen pyrkii kuitenkin käyttämään kahta tiettyä avainprosessia, jotka minimoivat molempien prosessien vaikutuksen Power Queryyn:

  • Tietoja siirretään
  • Power Query moduulin suorittamat muunnokset

Seuraavissa osissa selitetään, millainen vaikutus näillä kahdella prosessilla on edellä mainittuihin kyselyihin.

Tietoja siirretään

Kun kysely suoritetaan, se yrittää noutaa tiedot tietolähteestä yhtenä ensimmäisistä vaiheistaan. Tietolähteestä noudettavat tiedot määritetään kyselyn delegointi lähteeseen -mekanismin avulla. Tämä mekanismi tunnistaa kyselyn vaiheet, jotka voidaan purkaa tietolähteeseen.

Seuraavassa taulukossa on lueteltu tietokannan taulukosta fact_Sale pyydettyjen rivien määrä. Taulukko sisältää myös lyhyen kuvauksen SQL-lauseesta, joka on lähetetty pyytämään tällaisia tietoja tietolähteestä.

Esimerkki: Etiketti Pyydetyt rivit Kuvaus
Ei kyselyn delegointia Ei mitään 3644356 Taulukon kaikkien kenttien ja tietueiden fact_Sale pyyntö
Kyselyn osittainen delegointi lähteeseen Osittainen 3644356 Pyydä kaikkia tietueita, mutta vain pakollisia kenttiä taulukosta fact_Sale sen jälkeen, kun se on lajiteltu kentän mukaan Sale Key
Kyselyn täysi delegointi lähteeseen Täysi 10 Pyydä vain pakollisia kenttiä fact_Sale ja taulukon TOP 10 -tietuetta sen jälkeen, kun ne on lajiteltu laskevaan järjestykseen kentän mukaan Sale Key

Kaavio, jossa on tietokannasta kerättyjen rivien määrä ilman kyselyn delegointia lähteeseen, osittaista delegointia lähteeseen ja täydellistä kyselyn delegointia lähteeseen.

Kun pyydät tietoja tietolähteestä, tietolähteen on laskettava pyynnön tulokset ja lähetettävä tiedot sitten pyytäjälle. Vaikka laskentaresurssit on jo mainittu, verkkoresurssit, jotka liittyvät tietojen siirtämiseen tietolähteestä Power Query ja sitten Power Query pystyvät vastaanottamaan tiedot tehokkaasti ja valmistelemaan ne paikallisesti tapahtuvia muunnoksia varten, voivat viedä jonkin aikaa tietojen koosta riippuen.

Esitellyissä esimerkeissä Power Query piti pyytää yli 3,6 miljoonaa riviä tietolähteestä ei kyselyn lähteeseen delegointia lähteeseen ja osittaista delegointia lähteeseen -esimerkkejä varten. Täydellisessä kyselyn delegointi lähteeseen -esimerkissä se pyysi vain 10 riviä. Pyydettyjen kenttien osalta ei kyselyn delegointia lähteeseen -esimerkki pyysi kaikkia taulukon käytettävissä olevia kenttiä. Sekä osittaisen kyselyn delegointi lähteeseen että koko kyselyn delegointi lähteeseen -esimerkit lähettivät pyynnön vain juuri tarvitsemistaan kentistä.

Varoitus

Suosittelemme, että otat käyttöön lisääviä päivitysratkaisuja, jotka käyttävät kyselyn delegointia lähteeseen kyselyissä tai taulukoissa, joissa on suuria tietomääriä. Power Query eri tuoteintegraatiot toteuttavat aikakatkaisuja pitkäkestoisten kyselyiden lopettamiseksi. Jotkin tietolähteet toteuttavat myös aikakatkaisuja pitkissä istunnoissa yrittäen suorittaa kalliita kyselyitä palvelimilleen. Lisätietoja: Lisäävän päivityksen käyttäminen tietovoiden kanssa ja Lisäävä päivitys semanttisille malleille

Power Query moduulin suorittamat muunnokset

Tässä artikkelissa esitellään, miten kyselysuunnitelman avulla voit ymmärtää paremmin, miten kyselysi voidaan arvioida. Kyselysuunnitelmassa näet Power Query moduulin suorittamien muunnostoimintojen tarkat solmut.

Seuraavassa taulukossa esitellään aiempien kyselyiden kyselysuunnitelmien solmut, jotka Power Query moduuli olisi arvioinut.

Esimerkki: Etiketti Power Query moduulin muunnossolmuja
Ei kyselyn delegointia Ei mitään Table.LastN, Table.SelectColumns
Kyselyn osittainen delegointi lähteeseen Osittainen Table.LastN
Kyselyn täysi delegointi lähteeseen Täysi

Kaavio, jossa on Power Query moduulin suorittamat muunnosten kokonaismäärä ilman kyselyn delegointia lähteeseen, osittaista kyselyn delegointia lähteeseen ja kyselyn täydellistä delegointia lähteeseen.

Tässä artikkelissa esitellyissä esimerkeissä koko kyselyn delegointi lähteeseen -esimerkki ei edellytä muunnoksia Power Query moduulissa, koska vaadittu tulostaulukko tulee suoraan tietolähteestä. Sitä vastoin kaksi muuta kyselyä edellyttivät jonkin verran laskentaa Power Query moduulissa. Koska näiden kahden kyselyn on käsiteltävä paljon tietoja, näiden esimerkkien prosessi vie enemmän aikaa kuin koko kyselyn delegointi lähteeseen -esimerkissä.

Muunnokset voidaan ryhmitellä seuraaviin luokkiin:

Operaattorin tyyppi Kuvaus
Etäinen Operaattorit, jotka ovat tietolähteen solmuja. Näiden operaattoreiden arviointi tapahtuu Power Query ulkopuolella.
Suoratoisto Operaattorit ovat läpivientioperaattoreita. Esimerkiksi Table.SelectRows yksinkertaisella suodattimella voidaan yleensä suodattaa tulokset, kun ne kulkevat operaattorin läpi, eikä sinun tarvitse kerätä kaikkia rivejä ennen tietojen siirtämistä. Table.SelectColumns ja Table.ReorderColumns ovat muita esimerkkejä tällaisista toimijoista.
Täysi skannaus Operaattorit, joiden on kerättävä kaikki rivit ennen dataa, voivat siirtyä ketjun seuraavaan operaattoriin. Esimerkiksi tietojen lajittelua varten Power Query on kerättävä kaikki tiedot. Muita esimerkkejä täyden tarkistuksen operaattoreista ovat Table.Group, Table.NestedJoin, ja Table.Pivot.

Vihje

Vaikka kaikki muunnokset eivät ole samanlaisia suorituskyvyn kannalta, useimmissa tapauksissa vähemmän muunnoksia on yleensä parempi.

Huomioitavaa ja ehdotusta

  • Noudata parhaita käytäntöjä luodessasi uutta kyselyä kohdassa Power Query parhaiden käytäntöjen mukaisesti.
  • Kyselyn delegointi lähteeseen -ilmaisimien avulla voit tarkistaa, mitkä vaiheet estävät kyselyn delegoinnin lähteeseen. Järjestä ne tarvittaessa uudelleen taittamisen lisäämiseksi.
  • Kyselysuunnitelman avulla voit määrittää, mitkä muunnokset tapahtuvat Power Query moduulissa tietyssä vaiheessa. Harkitse aiemmin luodun kyselyn muokkaamista järjestämällä vaiheet uudelleen. Tarkista sitten kyselyn viimeisen vaiheen kyselysuunnitelma uudelleen ja katso, näyttääkö kyselysuunnitelma paremmalta kuin edellinen. Esimerkiksi uudessa kyselysuunnitelmassa on vähemmän solmuja kuin edellisessä, ja suurin osa solmuista on "Suoratoisto"-solmuja eikä "täydellistä tarkistusta". Tietolähteissä, jotka tukevat delegointia lähteeseen, kaikki muut kyselysuunnitelman solmut kuin Value.NativeQuery tietolähteen käyttöoikeussolmut edustavat muunnoksia, joita ei delegoitu lähteeseen.
  • Kun se on käytettävissä, voit käyttää Näytä alkuperäinen kysely (tai Näytä tietolähdekysely) -vaihtoehtoa varmistaaksesi, että kysely voidaan delegoida takaisin tietolähteeseen. Jos tämä asetus on poistettu käytöstä vaiheessa ja käytät lähdettä, joka normaalisti ottaa sen käyttöön, olet luonut vaiheen, joka lopettaa kyselyn delegoinnin lähteeseen. Jos käytät lähdettä, joka ei tue tätä vaihtoehtoa, voit luottaa kyselyn lähteeseen -ilmaisimiin ja kyselysuunnitelmaan.
  • Kyselyn diagnostiikkatyökalujen avulla voit ymmärtää paremmin tietolähteeseen lähetettäviä pyyntöjä, kun kyselyn delegointi lähteeseen -ominaisuudet ovat käytettävissä yhdistimelle.
  • Kun yhdistät useiden yhdistimien käytöstä peräisin olevia tietoja, Power Query yrittää siirtää mahdollisimman paljon työtä molempiin tietolähteisiin noudattaen samalla kullekin tietolähteelle määritettyjä tietosuojatasoja.
  • Lue artikkeli yksityisyystasoista , jotta voit suojata kyselysi tietosuojapalomuurivirheeltä.
  • Käytä muita työkaluja kyselyn delegoinnin lähteeseen tarkistamiseen tietolähteen vastaanottaman pyynnön näkökulmasta. Tämän artikkelin esimerkin perusteella voit tarkistaa Power Queryn lähettämät ja Microsoft SQL Serverin vastaanottamat pyynnöt Microsoft SQL Server -profiloinnin avulla.
  • Jos lisäät uuden vaiheen täysin delegoituun kyselyyn ja myös uusi vaihe delegoidaan lähteeseen, Power Query saattaa lähettää uuden pyynnön tietolähteeseen sen sijaan, että käyttäisit edellisen tuloksen välimuistissa olevaa versiota. Käytännössä tämä prosessi voi johtaa näennäisesti yksinkertaisiin toimintoihin pienellä tietomäärällä, jonka päivittäminen esikatselussa kestää odotettua kauemmin. Tämä pidempi päivitys johtuu siitä, että Power Query tekee kyselyn tietolähteestä uudelleen sen sijaan, että se käyttäisi tietojen paikallista kopiota.