Kyselyn lähteeseen delegoinnin ilmaisimet

Huomautus

Ennen tämän artikkelin lukemista lue Yleiskatsaus kyselyiden arviointiin ja kyselyn taittamiseen Power Query:ssä, jotta ymmärrät paremmin, miten taittaminen toimii Power Query:ssä.

Kyselyn taittoindikaattorit auttavat ymmärtämään, mitkä vaiheet taittuvat ja mitkä eivät. Vaihe delegoidaan lähteeseen, kun Power Query kääntää muunnokset tietolähdekyselyksi ja suorittaa ne tietolähteessä.

Kun käytät kyselyn taittoindikaattoreita, käy ilmi, että kun teet muutoksen, joka rikkoo taittoa. Tämän ominaisuuden avulla voit ratkaista ongelmia, välttää suorituskykyongelmia ja saada entistä paremman käsityksen kyselyistäsi. Useimmissa tapauksissa askeleet joko taittuvat tai eivät taittu. Mutta on monia tapauksia, joissa lopputulos ei ole ilmeinen. Vaiheen diagnostiikan ilmaisimet -osassa käsitellään näitä tapauksia (Saattaa taittaa, läpinäkymätön ja tuntematon).

Huomautus

Kyselyn delegoinnin ilmaisimet -ominaisuus on käytettävissä vain Power Query Onlinessa.

Kyselyn delegoinnin diagnostiikan tulkitseminen

Power Query Onlinessa vaiheen vieressä oleva kyselyn delegoinnin ilmaisin näyttää, onko kysely kokonaisuudessaan tähän asti taitettu. Diagnostiikka ei ole järjestyksessä. Jos ilmaisin näyttää, että kyselyä ei taiteta lähteeseen ja sen perässä on ilmaisin, joka näyttää, että se taittaa lähteeseen, kysely tähän asti delegoidaan lähteeseen.

Tämä tulkinta toimii myös yksinkertaisessa SQL-lähdekyselyssä. Voit esimerkiksi muodostaa yhteyden AdventureWorks-mallitietokannanProduction.Product-taulukkoon ja ladata sitten tiedot. Kun tämä malli ladataan Power Query -siirtymistoiminnon kautta, saat seuraavan kyselyn:

let
  Source = Sql.Database("ServerName", "AdventureWorks"),
  Navigation = Source{[Schema = "Production", Item = "Product"]}[Data]
in
  Navigation

Jos tarkastelet, miten tämä koodi näkyy Kyselyn delegointi lähteeseen -ilmaisimissa, huomaat, että ensimmäinen vaihe ei ole ratkaiseva. Toinen vaihe kuitenkin delegoidaan lähteeseen, mikä tarkoittaa sitä, että kysely lähteeseen asti.

Näyttökuva lähde- ja siirtymisvaiheista Taita ilmaisin -ruudussa.

Tässä esimerkissä ensimmäisten vaiheiden delegointi lähteeseen (ei ole ratkaisevaa), mutta lopullinen vaihe luodaan, kun lataat tiedot aluksi lähteeseen. Se, miten ensimmäiset vaiheet (Lähde ja joskus muut siirtymisvaiheet ) käsitellään, määräytyy liittimen mukaan. Esimerkiksi SQL:ssä vaihe käsitellään luettelotaulukkoarvona, jota ei ole taitettu. Kuitenkin heti, kun valitset tiedot kyseiselle liittimelle, se taittuu.

Toisaalta tämä merkintä voi tarkoittaa myös sitä, että kyselysi taittuu tiettyyn pisteeseen ja lopettaa sitten delegoinnin lähteeseen. Se, ettei taittuva indikaattori, ei tarkoita, etteikö mikään taittuisi. Sen sijaan se tarkoittaa, ettei kaikki murru. Yleensä kaikki viimeiseen lähteeseen delegoinnin ilmaisimeen asti taittuu, ja sen jälkeen tapahtuu enemmän toimintoja.

Jos muokkaat edellistä esimerkkiä, voit antaa muunnoksen, jota ei koskaan taiteta: kirjoita jokainen sana isolla kirjaimella.

let
  Source = Sql.Database("ServerName", "AdventureWorks"),
  Navigation = Source{[Schema = "Production", Item = "Product"]}[Data],
  #"Capitalized each word" = Table.TransformColumns(Navigation, {{"Name", each Text.Proper(_), type text}})
in
  #"Capitalized each word"

Kyselyn delegoinnin ilmaisimissa käytössä on samat ilmaisimet kuin aiemminkin, mutta lopullinen vaihe ei taitu. Kaikki tähän viimeiseen vaiheeseen asti suoritetaan tietolähteessä, kun taas viimeinen vaihe suoritetaan paikallisesti.

Näyttökuva Lähde-, Siirtymis- ja Capitalize Each Word -vaiheista Taita ilmaisin -ruudussa.

Vaiheen diagnostiikan ilmaisimet

Kyselyn taittoindikaattorit käyttävät taustalla olevaa kyselysuunnitelmaa ja vaativat sitä raportoimaan tietoja kyselystä. Tällä hetkellä kyselysuunnitelma tukee vain taulukoita, joten joissakin tapauksissa (luettelot, tietueet, primitivit) ei raportoida lähteeseen delegoinniksi tai olematta. Samalla tavalla vakiotaulukoiden raportti on läpinäkymätön.

Indikaattori Kuvake Kuvaus
Taittaminen Lähteeseen delegoinnin ilmaisin kertoo, että tietolähde arvioi kyselyn tähän vaiheeseen asti.
Ei taiteta Ei-lähteeseen -ilmaisin kertoo, että osa kyselystä tähän vaiheeseen asti arvioidaan tietolähteen ulkopuolella. Voit verrata sitä viimeiseen lähteeseen delegoinnin ilmaisimeen, jos sellaista on, jotta näet, voitko järjestää kyselyn uudelleen suorituskykyisimmäksi.
Saattaa taittaa Ilmaisimet saattavat olla harvinaisia. Ne tarkoittavat sitä, että kysely "saattaa" delegoida lähteeseen. Ne ilmaisevat, että joko lähteeseen delegointi tai lähteeseen delegointi määritetään suorituksen aikana, kun tuloksia vastaanotetaan kyselystä, ja että kyselysuunnitelma on dynaaminen. Nämä ilmaisimet näkyvät todennäköisesti vain ODBC- tai OData-yhteyksillä.
Läpinäkymätön Läpinäkymättömät ilmaisimet kertovat, että tulokseksi saatava kyselysuunnitelma ei jostain syystä ole ratkaiseva. Se yleensä ilmaisee, että on olemassa todellinen vakiotaulukko tai että ilmaisimet ja kyselysuunnitelmatyökalu eivät tue kyseistä muunnoksen tai liittimen muunnoksen toimintoa.
tuntematon Tuntemattomat ilmaisimet edustavat kyselysuunnitelman puuttumista joko virheen vuoksi tai yrittäessään suorittaa kyselysuunnitelman arviointia jossakin muussa kuin taulukossa (kuten tietueessa, luettelossa tai primitiivissä).

Analysoi kyselyn delegoinnin ilmaisimia

Jos haluat analysoida kyselyn lähteeseen delegoinnin ilmaisimia, muodosta yhteys Production.Product-taulukkoon AdventureWorksissa (SQL). Alkuperäinen kuormitus näyttää Source-vaiheen epäselvänä ja Siirtymisvaiheen taitettavana seuraavassa kuvassa esitetyllä tavalla.

Näyttökuva ensimmäisen vaiheen ilmaisimista Product-taulukon lataamista varten.

Kun lisäät taittavia askelmia, jatkat oikealla olevaa vihreää viivaa. Tämä laajennus tapahtuu, koska myös tämä vaihe taittuu.

Näyttökuva, joka näyttää, miten poista sarake -vaiheen lisääminen edelliseen kyselyyn laajentaa vihreän lähteen ilmaisinviivaa.

Kun lisäät askeleen, joka ei taittele, näet eri indikaattorin. Esimerkiksi isoilla kirjaimilla kutakin sanaa ei koskaan taiteta. Ilmaisin muuttuu osoittaen, että tässä vaiheessa se lakkasi taittamasta. Kuten aiemmin mainittiin, edelliset vaiheet delegoidaan edelleen lähteeseen.

Näyttökuva, joka näyttää, miten voit isolla kirjaimella määrittää Kunkin Word-vaiheen taitmisen isolla kirjaimella.

Kun lisäät vaiheita, jotka riippuvat kunkin sanan isosta alkukirjaimesta, ne eivät edelleenkään taita.

Näyttökuva, joka näyttää, miten delegointi lähteeseen ei tapahdu lisävaiheiden lisäämisen jälkeen.

Jos kuitenkin poistat sarakkeen, jossa olet käyttänyt isoa kirjainta, optimoitu kyselysuunnitelma voi delegoida uudelleen lähteeseen. Tässä harvinaisessa tuloksessa lopullinen vaihe taittuu, vaikka aiempi vaihe ei taitu, kuten seuraavassa kuvassa esitetään. Tämä tulos havainnollistaa, miten delegointi lähteeseen riippuu sekä vaiheiden järjestyksestä että käytössä olevista muunnoksista.

Näyttökuva, joka näyttää, miten ongelmallisen sarakkeen poistaminen mahdollistaa asioiden delegoinnin lähteeseen poistamatta vaihetta.