Jaa


Kyselyn delegointi lähteeseen -esimerkit

Tässä artikkelissa on joitakin esimerkkiskenaarioita kullekin kolmesta mahdollisesta tuloksesta kyselyn delegoinnille lähteeseen. Se sisältää myös joitain ehdotuksia, joiden avulla voit hyödyntää kyselyn delegointi lähteeseen -mekanismia ja miten se voi vaikuttaa kyselyihin.

Skenaario

Kuvittele tilanne, jossa Azure Synapse Analytics SQL -tietokannan Wide World Importers -tietokannan avulla sinulle annetaan tehtäväksi luoda Power Queryssä kysely, joka muodostaa yhteyden fact_Sale taulukkoon ja noutaa kymmenen viimeistä myyntiä vain seuraavilla kentillä:

  • Myyntiavain
  • Asiakasavain
  • Laskun päivämääräavain
  • Kuvaus
  • Määrä

Muistiinpano

Esittelyä varten tässä artikkelissa käytetään opetusohjelmassa kuvattua tietokantaa Wide World Importers -tietokannan lataamisesta Azure Synapse Analyticsiin. Tämän artikkelin tärkein ero on se, että fact_Sale taulukko sisältää tietoja vain vuodelta 2000, ja siinä on yhteensä 3 644 356 riviä.

Vaikka tulokset eivät ehkä täysin vastaa Azure Synapse Analytics -dokumentaation opetusohjelman tuloksia, tämän artikkelin tavoitteena on esitellä tärkeimmät käsitteet ja vaikutus, joka kyselyn delegoinnilla voi olla kyselyissäsi.

Maailman tuojien Azure Synapse Analytics -tietokannan fact_Sale taulukosta johdettu mallitulostetaulukko.

Tässä artikkelissa esitellään kolme tapaa saavuttaa sama tulos käyttämällä kyselyn delegointi lähteeseen eri tasoja:

  • Ei kyselyn delegointia lähteeseen
  • Kyselyn osittainen delegointi lähteeseen
  • Koko kyselyn delegointi lähteeseen

Ei esimerkkiä kyselyn delegoinnista lähteeseen

Tärkeä

Kyselyillä, jotka ovat riippuvaisia yksinomaan rakenteettomista tietolähteistä tai joissa ei ole laskentamoduulia, kuten CSV- tai Excel-tiedostoista, ei ole kyselyn delegointi 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 siirryttävä fact_Sale taulukkoon, valitse Säilytä alimmat rivit -muunnos, joka löytyy Aloitus-välilehden Vähennä rivejä -ryhmästä.

Säilytä alimmat rivit -muunnos aloitusvälilehden Vähennä rivejä -ryhmässä.

Kun olet valinnut tämän muunnoksen, näkyviin tulee uusi valintaikkuna. Tässä uudessa valintaikkunassa voit antaa niiden rivien määrän, jotka haluat säilyttää. Anna tässä tapauksessa arvo 10 ja valitse sitten OK.

Syötä arvo 10 Säilytä alimmat rivit -valintaikkunaan.

Vihje

Tässä tapauksessa tämän toiminnon suorittaminen tuottaa kymmenen viime myynnin tuloksen. Useimmissa tilanteissa suosittelemme, että annat eksplisiittisen logiikan, joka määrittää, mitkä rivit katsotaan viimeiseksi, käyttämällä taulukossa lajittelutoimintoa.

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

Valitse Valitse sarakkeet -muunnos, jos esimerkissä ei ole kyselyä lähteeseen.

Lopuksi valitse Valitse sarakkeet -valintaikkunassa , , , Customer KeyInvoice Date Key, Descriptionja Quantity sarakkeet ja valitse sitten OKSale Key.

Valitsemalla Myyntiavain-, Asiakasavain-, Laskun päivämääräavain-, Kuvaus- ja Määrä-sarakkeet esimerkissä, jossa ei ole kyselyä lähteeseen.

Seuraava koodiesimerkki on luomasi kyselyn koko 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

Power Query -editorin Käytössä olevat vaiheet -kohdassa huomaat, että Säilytetyt alimmat rivit- ja Valitse sarakkeet -kohdan kyselyn delegointi lähteeseen -ilmaisimet on merkitty vaiheiksi, jotka arvioidaan tietolähteen ulkopuolella tai toisin sanoen Power Query -moduulin toimesta.

Kyselyn käytössä olevat vaiheet -ruutu, jossa kyselyn delegointi lähteeseen -ilmaisimet näyttävät Säilyneet alimmat rivit ja Poistetut muut sarakkeet -vaiheet.

Voit napsauttaa hiiren kakkospainikkeella kyselyn viimeistä vaihetta, jonka nimi on Valitse sarakkeet, ja valita vaihtoehdon, joka lukee Näytä kyselysuunnitelma. Kyselysuunnitelman tavoitteena on antaa yksityiskohtainen näkymä siitä, miten kysely suoritetaan. Saat lisätietoja tästä ominaisuudesta siirtymällä kyselysuunnitelmaan.

Luodun kyselyn kyselysuunnitelma, jossa on useita solmuja, joista kaksi on suorakulmiossa, joka edustaa Power Query -moduulin arvioimia solmuja.

Edellisen kuvan kutakin ruutua kutsutaan solmuksi. Solmu edustaa toiminnon erittelyä tämän kyselyn täyttämiseksi. Tietolähteitä edustavat solmut, kuten yllä olevassa esimerkissä SQL Server ja Value.NativeQuery solmu, edustavat sitä, mikä osa kyselystä ladataan tietolähteeseen. Power Query -moduuli arvioi muut solmut, tässä tapauksessa Table.LastN Table.SelectColumns edellisen kuvan suorakulmiossa korostetut. Nämä kaksi solmua edustavat kahta lisäämääsi muunnoksen, Säilytetyt alimmat rivit ja Valitse sarakkeet, nimeämistä. Muut solmut edustavat toimintoja, jotka tapahtuvat tietolähteen tasolla.

Jos haluat nähdä tietolähteeseen lähetetyn pyynnön, valitse Solmusta Value.NativeQuery Näytä tiedot.

Value.NativeQueryn sisältä löytyvä SQL-lause, joka edustaa tietokannan fact_Sale taulukon kaikkien kenttien ja tietueiden pyyntöä.

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

Tämän tietolähdepyynnön konsultointi voi auttaa sinua ymmärtämään paremmin tarinaa, jota kyselysuunnitelma yrittää välittää:

  • Sql.Database: Tämä solmu edustaa tietolähteen käyttöoikeutta. Näyttöyhteys tietokantaan ja lähettää metatietopyyntöjä ymmärtääkseen sen ominaisuuksia.
  • Value.NativeQuery: Edustaa pyyntöä, jonka Power Query loi kyselyn täyttämiseksi. Power Query lähettää tietopyynnöt alkuperäiseen SQL-lauseeseen tietolähteeseen. Tässä tapauksessa se edustaa taulukon kaikkia tietueita ja kenttiä (sarakkeita fact_Sale ). Tässä skenaariossa tämä ei ole toivottavaa, koska taulukko sisältää miljoonia rivejä ja korko on vain viimeisten kymmenen aikana.
  • Table.LastN: Kun Power Query vastaanottaa kaikki tietueet taulukosta fact_Sale , se suodattaa taulukon Power Query -moduulin avulla ja säilyttää vain viimeiset kymmenen riviä.
  • Table.SelectColumns: Power Query käyttää solmun Table.LastN tulosta ja käyttää uutta muunnoksen nimeltä Table.SelectColumns, joka valitsee tietyt sarakkeet, jotka haluat säilyttää taulukosta.

Tämän kyselyn oli ladattava kaikki rivit ja kentät taulukosta arviointia fact_Sale varten. Tämä kysely kesti keskimäärin 6 minuuttia ja 1 sekunnin, ennen kuin se käsiteltiin Power BI -tietovoiden vakioesiintymässä (joka selittää tietojen arvioinnin ja lataamisen tietovoihin).

Esimerkki kyselyn osittamisesta lähteeseen

Kun olet muodostanut yhteyden tietokantaan ja siirryttävä fact_Sale taulukkoon, aloitat valitsemalla taulukosta sarakkeet, jotka haluat säilyttää. Valitse Valitse sarakkeet -muunnos, joka löytyy Sarakkeiden hallinta -ryhmästä Aloitus-välilehdeltä. Tämän muunnoksen avulla voit valita eksplisiittisesti sarakkeet, jotka haluat säilyttää taulukosta, ja poistaa loput.

Valitse Valitse sarakkeet -muunnos osittaisen kyselyn delegointi lähteeseen -esimerkissä.

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

Valitsemalla Myyntiavain-, Asiakasavain-, Laskun päivämääräavain-, Kuvaus- ja Määrä-sarakkeet osittaista kyselyn delegointia varten lähteeseen -esimerkkia varten.

Nyt voit luoda logiikan, joka lajittelee taulukon siten, että taulukon alaosassa on viimeinen myynti. Valitse Sale Key sarake, joka on taulukon perusavain ja lisäävä sekvenssi tai indeksi. Lajittele taulukko käyttämällä vain tätä kenttää nousevassa järjestyksessä sarakkeen pikavalikosta.

Lajittele taulukon Myyntiavain-kenttä nousevaan järjestykseen kentän automaattisen suodattimen pikavalikon avulla.

Valitse seuraavaksi taulukon pikavalikko ja valitse sitten Säilytä alimmat rivit -muunnos.

Valitse säilytä alimmat rivit -vaihtoehto taulukon pikavalikosta.

Anna Säilytä alimmat rivit -kohdassa arvo 10 ja valitse sitten OK.

Säilytä alimmat rivit -valintaikkuna, jonka arvo on 10 syötearvona, jotta taulukon alimmat kymmenen riviä säilyvät.

Seuraava koodiesimerkki on luomasi kyselyn koko 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 kyselyn osittaisesta lähteeseen delegoinnista: Kyselyn arvioinnin ymmärtäminen

Kun tarkistat käytössä olevat vaiheet -ruutua, huomaat, että kyselyn delegoinnin ilmaisimet osoittavat, että viimeinen lisäämäsi muunnos, Kept bottom rows, on merkitty vaiheeksi, joka arvioidaan tietolähteen ulkopuolella tai toisin sanoen Power Query -moduulin toimesta.

Kyselyn käytössä olevien vaiheiden ruutu, jossa kyselyn delegointi lähteeseen -ilmaisimet osoittavat, että Säilytetut alimmat rivit on merkitty vaiheeksi, joka arvioidaan tietolähteen ulkopuolella.

Voit napsauttaa hiiren kakkospainikkeella kyselyn viimeistä vaihetta, jonka nimi Kept bottom rowson , ja valita Kyselysuunnitelma-vaihtoehdon , jotta ymmärrät paremmin, miten kyselyäsi voidaan arvioida.

Kyselysuunnitelma, joka näyttää useita solmuja, joissa suorakulmiossa näkyvä Table.LastN-solmu on solmu, jonka Power Query -moduuli arvioi tietolähteen sijaan.

Edellisen kuvan kutakin ruutua kutsutaan solmuksi. Solmu edustaa jokaista prosessia, jonka on tapahduttava (vasemmalta oikealle), jotta kyselysi voidaan laskea. Jotkin näistä solmuista voidaan laskea tietolähteessä, kun taas toiset, kuten solmu , Table.LastNjota edustaa Säilytetyt rivit -vaihe, arvioidaan Power Query -moduulin avulla.

Jos haluat nähdä tietolähteeseen lähetetyn pyynnön, valitse Solmusta Value.NativeQuery Näytä tiedot.

SQL-lause Value.NativeQueryn sisällä, joka edustaa kaikkien tietueiden pyyntöä. Tietokannan fact_Sales-taulukosta vain pyydetyt kentät lajitellaan nousevassa järjestyksessä Myyntiavain-kentän mukaan.

Tämä pyyntö on tietolähteesi omalla kielellä. Tässä tapauksessa kyseinen kieli on SQL ja tämä lauseke edustaa kaikkien rivien pyyntöä, joka sisältää vain kentän tilaamat pyydetyt kentät taulukosta fact_Sale Sale Key .

Tämän tietolähdepyynnön konsultointi voi auttaa sinua ymmärtämään paremmin tarinaa, jota koko kyselysuunnitelma yrittää välittää. Solmujen järjestys on peräkkäinen prosessi, joka alkaa pyytämällä tietoja tietolähteestä:

  • Sql.Database: Näyttöyhteys tietokantaan ja lähettää metatietopyyntöjä ymmärtääkseen sen ominaisuuksia.
  • Value.NativeQuery: Edustaa pyyntöä, jonka Power Query loi kyselyn täyttämiseksi. Power Query lähettää tietopyynnöt alkuperäiseen SQL-lauseeseen tietolähteeseen. Tässä tapauksessa se edustaa kaikkia tietueita. Vain tietokannan taulukosta fact_Sale pyydetyt kentät lajitellaan nousevassa järjestyksessä kentän mukaan Sales Key .
  • Table.LastN: Kun Power Query vastaanottaa kaikki tietueet taulukosta fact_Sale , se suodattaa taulukon Power Query -moduulin avulla ja säilyttää vain viimeiset kymmenen riviä.

Tämän kyselyn oli arvioitava kaikki rivit ja vain pakolliset kentät taulukosta fact_Sale . Kesti keskimäärin 3 minuuttia ja 4 sekuntia käsitellä vakioesiintymässä Power BI -tietovoita (joka selittää tietojen arvioinnin ja lataamisen tietovoihin).

Esimerkki kyselyn koko lähteeseen delegoinnista

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

Valitse Valitse sarakkeet -muunnos koko kyselyn delegointi lähteeseen -esimerkissä.

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

Valitsemalla Myyntiavain-, Asiakasavain-, Laskun päivämääräavain-, Kuvaus- ja Määrä-sarakkeet koko kyselyn delegointi lähteeseen -esimerkissä.

Nyt voit luoda logiikan, joka lajittelee taulukon siten, että taulukon yläosassa on viimeinen myynti. Valitse Sale Key sarake, joka on taulukon perusavain ja lisäävä sekvenssi tai indeksi. Lajittele taulukko käyttäen tätä kenttää laskevassa järjestyksessä sarakkeen pikavalikosta.

Lajittele taulukon Myyntiavain-kenttä laskevaan järjestykseen pikavalikon avulla.

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

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

Anna Säilytä ylimmät rivit -kohdassa arvo 10 ja valitse sitten OK.

Säilytä ylimmät rivit -valintaikkuna, jonka syötearvoksi on syötetty kymmenen ylintä riviä.

Seuraava koodiesimerkki on luomasi kyselyn koko 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 koko lähteeseen delegoinnista: Kyselyn arvioinnin ymmärtäminen

Kun tarkistat käytössä olevat vaiheet -ruutua, huomaat, että kyselyn lähteeseen delegoinnin ilmaisimet näyttävät, että lisäämäsi muunnokset, Valitse sarakkeet, Lajiteltu rivit ja Säilytetyt ylimmät rivit on merkitty vaiheiksi, jotka arvioidaan tietolähteessä.

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

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

SQL-lause, joka löytyy Value.NativeQuerystä, joka edustaa pyyntöä fact_Sale-taulukon kymmenestä parhaasta tietueesta lajiteltuna Myyntiavain-kentän avulla ja vain kentillä Myyntiavain, Asiakasavain, Laskun päivämäärän avain, Kuvaus ja Määrä.

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

Tämän tietolähdekyselyn konsultointi voi auttaa sinua ymmärtämään paremmin tarinaa, jota koko kyselysuunnitelma yrittää välittää:

  • Sql.Database: Näyttöyhteys tietokantaan ja lähettää metatietopyyntöjä ymmärtääkseen sen ominaisuuksia.
  • Value.NativeQuery: Edustaa pyyntöä, jonka Power Query loi kyselyn täyttämiseksi. Power Query lähettää tietopyynnöt alkuperäiseen SQL-lauseeseen tietolähteeseen. Tässä tapauksessa se edustaa vain taulukon 10 parasta tietuetta koskevaa pyyntöä. Pakollisia kenttiä on vain sen jälkeen, kun ne fact_Sale on lajiteltu laskevassa järjestyksessä -kentän avulla Sale Key .

Muistiinpano

Vaikka T-SQL-kielen taulukon alimmaisten rivien valintaan ei ole mitään lausetta, on olemassa TOP-lause, joka hakee taulukon ylimmät rivit.

Tätä arviointia varten tämä kysely lataa vain 10 riviä sekä vain kentät, joita pyysit taulukosta fact_Sale . Tämän kyselyn käsitteleminen kesti keskimäärin 31 sekuntia Power BI -tietovoiden vakioesiintymässä (joka selittää tietojen arvioinnin ja lataamisen tietovoihin).

Suorituskyvyn vertailu

Jotta ymmärtäisit paremmin, millainen vaikutus kyselyn delegoinnilla lähteeseen näissä kyselyissä on, voit päivittää kyselyt, kirjata kunkin kyselyn täydelliseen päivittämiseen kuluvan ajan ja verrata niitä. Selvyyden vuoksi tässä artikkelissa kerrotaan keskimääräiset päivitysvälit, jotka on siepattu käyttämällä Power BI -tietovoiden päivityskammeniikkaa samalla, kun muodostat yhteyden erilliseen Azure Synapse Analytics -ympäristöön, jossa palvelutaso on DW2000c.

Kunkin kyselyn päivitysaika oli seuraava:

Esimerkki Otsikko Aika sekunteina
Ei kyselyn delegointia lähteeseen Ei ole 361
Kyselyn osittainen delegointi lähteeseen Osittainen 184
Koko kyselyn delegointi lähteeseen Täysi 31

Kaavio, jossa verrataan kyselyn taittamattomuuskyselyn päivitysaikaa 361 sekuntiin, osittaista kyselyn delegointia lähteeseen 184 sekunnin kuluttua ja täysin taitettua kyselyä 31 sekunnilla.

Usein kysely, joka taittuu kokonaan takaisin tietolähteeseen, suoriutuu paremmin vastaavista kyselyistä, jotka eivät täysin taita takaisin tietolähteeseen. Tähän voi olla monia syitä. Nämä syyt vaihtelevat kyselyn suorittamien muunnosten monimutkaisuudesta tietolähteessä käyttöön otettuihin kyselyn optimointeihin, kuten indekseihin ja erilliseen käsittelyyn ja verkkoresursseihin. On kuitenkin olemassa kaksi tiettyä keskeistä prosessia, joita kyselyn delegointi lähteeseen yrittää käyttää ja jotka minimoivat vaikutuksen, joka kummallakin seuraavista prosesseista on Power Queryssa:

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

Seuraavissa osioissa selitetään, miten nämä kaksi prosessia ovat vaikuttaneet aiemmin mainituissa kyselyissä.

Tietoja siirretään

Kun kysely suoritetaan, se yrittää noutaa tiedot tietolähteestä yhtenä ensimmäisinä vaiheina. Kyselyn delegointi lähteeseen -mekanismi määrittää, mitä tietoja tietolähteestä noudetaan. Tämä mekanismi tunnistaa vaiheet kyselystä, joka voidaan ladata tietolähteeseen.

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

Esimerkki Otsikko Pyydetyt rivit Kuvaus
Ei kyselyn delegointia lähteeseen Ei ole 3644356 Pyyntö kaikille kentille ja kaikille tietueille taulukosta fact_Sale
Kyselyn osittainen delegointi lähteeseen Osittainen 3644356 Pyyntö kaikista tietueista, mutta vain pakolliset fact_Sale kentät taulukosta sen jälkeen, kun ne on lajiteltu kentän mukaan Sale Key
Koko kyselyn delegointi lähteeseen Täysi 10 Pyydä vain pakollisia kenttiä ja taulukon 10 parasta tietuetta fact_Sale sen jälkeen, kun ne on lajiteltu laskevassa järjestyksessä kentän mukaan Sale Key

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

Kun tietolähde pyytää tietoja, tietolähteen on laskettava pyynnön tulokset ja lähetettävä ne sitten pyytäjälle. Vaikka tietojenkäsittelyresurssit on jo mainittu, verkkoresurssit, joilla tiedot siirretään tietolähteestä Power Queryyn ja annetaan sitten Power Queryn pystyä vastaanottamaan tiedot tehokkaasti ja valmistelemaan ne paikallisesti suoritettavia muunnoksia varten, voivat kestää jonkin aikaa tietojen koon mukaan.

Näytetyissä esimerkeissä Power Queryn oli pyydettävä tietolähteestä yli 3,6 miljoonaa riviä kyselyiden delegointia lähteeseen ja kyselyn osittaista delegointia lähteeseen koskevat esimerkit. Koko kyselyn delegointi lähteeseen -esimerkissä se pyysi vain 10 riviä. Pyydettyjen kenttien osalta kyselyn delegointia lähteeseen -esimerkki pyysi kaikkia käytettävissä olevia kenttiä taulukosta. Sekä osittaiset kyselyn delegointi lähteeseen että kyselyiden täydelliset delegointi lähteeseen -esimerkit jättivät vain pyynnön juuri tarvitsemiaan kenttiä varten.

Huomautus

Suosittelemme, että otat käyttöön lisäävän päivityksen ratkaisuja, jotka hyödyntävät kyselyn delegointia lähteeseen kyselyissä tai taulukoissa, joissa on suuria tietomääriä. Power Queryn eri tuoteintegraatioissa toteutetaan aikakatkaisuja pitkäkestoisten kyselyiden lopettamiseksi. Jotkin tietolähteet ottavat myös käyttöön aikakatkaisuja pitkäkestoisiin istuntoihin ja yrittävät suorittaa kalliita kyselyjä palvelimiaan vastaan. 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 esiteltiin, miten voit käyttää kyselysuunnitelmaa , jotta ymmärrät paremmin, miten kyselyäsi voidaan arvioida. Kyselysuunnitelmassa näet Power Query -moduulin suorittamien muunnostoimintojen tarkat solmut.

Seuraavassa taulukossa esitellään edellisten kyselyjen kyselysuunnitelmien solmut, jotka Power Query -moduuli olisi arvioinut.

Esimerkki Otsikko Power Query -moduulin muunnossolmut
Ei kyselyn delegointia lähteeseen Ei ole Table.LastN, Table.SelectColumns
Kyselyn osittainen delegointi lähteeseen Osittainen Table.LastN
Koko kyselyn delegointi lähteeseen Täysi

Kaavio, jossa ovat Power Query -moduulin suorittamat kokonaismuunnokset, joissa ei ole kyselyn delegointia lähteeseen, osittaista kyselyn delegointia lähteeseen ja täyttä kyselyn delegointia lähteeseen.

Tässä artikkelissa esiteltyjen esimerkkien osalta täydellinen kyselyn delegointi lähteeseen -esimerkki ei edellytä mitään muunnoksia Power Query -moduulin sisällä, koska vaadittu tulostetaulukko tulee suoraan tietolähteestä. Sitä vastoin kaksi muuta kyselyä edellyttivät jonkin verran laskemista Power Query -moduulissa. Näiden kahden kyselyn käsittelemien tietojen määrän vuoksi näiden esimerkkien prosessi vie enemmän aikaa kuin koko kyselyn delegointi lähteeseen -esimerkki.

Muunnokset voidaan ryhmitellä seuraaviin luokkiin:

Operaattorin tyyppi Kuvaus
Kauko Operaattorit, jotka ovat tietolähdesolmuja. Näiden operaattoreiden arviointi tapahtuu Power Queryn ulkopuolella.
Streaming Operaattorit ovat läpivientioperaattoreita. Esimerkiksi Table.SelectRows yksinkertaisella suodattimella tulokset voidaan yleensä suodattaa niiden siirtyessä operaattorin läpi, eikä kaikkia rivejä tarvitse kerätä ennen tietojen siirtämistä. Table.SelectColumns ja Table.ReorderColumns ovat muita esimerkkejä tällaisista operaattoreista.
Täydellinen skannaus Operaattorit, joiden on kerättävä kaikki rivit, ennen kuin tiedot voivat siirtyä ketjun seuraavaan operaattoriin. Esimerkiksi tietojen lajittelemiseksi Power Queryn on kerättävä kaikki tiedot. Muita esimerkkejä täyden tarkistuksen operaattoreista ovat Table.Group, Table.NestedJoinja Table.Pivot.

Vihje

Vaikka kaikki muunnokset eivät ole samoja suorituskyvyn kannalta, useimmissa tapauksissa pienempi muunnos on yleensä parempi.

Huomioitavia seikkoja ja ehdotuksia

  • Noudata uusia kyselyjä luotaessa parhaita käytäntöjä, kuten artikkelissa Power Queryn parhaat käytännöt on mainittu.
  • Kyselyn delegoinnin ilmaisimien avulla voit tarkistaa, mitkä vaiheet estävät kyselyn delegoinnin lähteeseen. Järjestä ne uudelleen tarvittaessa taittuvan lähteen lisäämiseksi.
  • Kyselysuunnitelman avulla voit määrittää, mitä muunnoksia Power Query -moduulissa tapahtuu tietyssä vaiheessa. Harkitse olemassa olevan kyselyn muokkaamista järjestämällä vaiheet uudelleen. Tarkista sitten uudelleen kyselyn viimeisen vaiheen kyselysuunnitelma ja tarkista, näyttääkö kyselysuunnitelma edellistä parempi. Esimerkiksi uudessa kyselysuunnitelmassa on vähemmän solmuja kuin edellisessä, ja suurin osa solmuista on Streaming-solmuja, ei täyttä tarkistusta. Lähteeseen delegointia tukevissa tietolähteissä kaikki muut kyselysuunnitelman solmut kuin Value.NativeQuery ja tietolähteen käyttösolmut edustavat muunnoksia, joita ei ole taitettu.
  • Kun se on käytettävissä, voit käyttää Näytä alkuperäinen kysely (tai Näytä tietolähdekysely) -asetusta varmistaaksesi, että kysely voidaan delegoida takaisin tietolähteeseen. Jos tämä asetus on poissa käytöstä vaiheessa ja käytät lähdettä, joka tavallisesti ottaa sen käyttöön, olet luonut vaiheen, joka lopettaa kyselyn delegoimisen lähteeseen. Jos käytät lähdettä, joka ei tue tätä asetusta, voit luottaa kyselyn delegoinnin ilmaisimiin ja kyselysuunnitelmaan.
  • Kyselydiagnostiikkatyökalujen avulla saat paremman käsityksen tietolähteeseen lähetettä olevista pyynnöistä, kun kyselyn delegointi lähteeseen -ominaisuudet ovat käytettävissä liittimessä.
  • Kun yhdistät useiden liittimien käytöstä saatuja tietoja, Power Query yrittää työntää mahdollisimman paljon työtä kummallekin tietolähteelle noudattaen samalla kullekin tietolähteelle määritettyjä yksityisyystasoja.
  • Lue yksityisyystasot-artikkeli, jotta kyselysi eivät toimi tietosuojan palomuurin virhesanoman avulla.
  • Muilla työkaluilla voit tarkistaa kyselyn delegoinnin lähteeseen tietolähteen vastaanottaman pyynnön näkökulmasta. Tämän artikkelin esimerkin perusteella voit tarkistaa Microsoft SQL Serverin profilointi avulla pyynnöt, jotka Power Query lähettää ja jotka Microsoft SQL Server vastaanottaa.
  • Jos lisäät uuden vaiheen täysin taitettuun kyselyyn ja myös uusi vaihe taittuu, Power Query saattaa lähettää uuden pyynnön tietolähteeseen sen sijaan, että käyttäisit välimuistiin tallennettua versiota edellisestä tuloksesta. Käytännössä tämä prosessi voi johtaa näennäisen yksinkertaisiin toimintoihin pienellä tietomäärällä, jonka päivittäminen esikatselussa kestää odotettua kauemmin. Tämä pidempi päivitys johtuu siitä, että Power Query lähettää tietolähteen uudelleen paikalliselle tietojen kopiolle julkaisemisen sijaan.