Jaa


Kyselyn lähteeseen delegoinnin ilmaisimet

Muistiinpano

Ennen kuin luet tämän artikkelin, suosittelemme, että luet Yleiskatsaus kyselyn arviointiin ja kyselyn delegointaan lähteeseen Power Queryssa , jotta ymmärrät paremmin, miten delegointi toimii Power Queryssä.

Kyselyn delegoinnin ilmaisimet auttavat ymmärtämään vaiheet, jotka delegoidaan lähteeseen tai ei taiteta.

Kyselyn delegoinnin ilmaisimet ovat ilmeisiä, kun teet muutoksen, joka rikkoo lähteeseen delegoinnin. Tämän ominaisuuden avulla voit ratkaista ongelmia entistä helpommin, välttää suorituskykyongelmia ja saada kyselyistäsi paremman käsityksen. Useimmissa tapauksissa törmäät vaiheisiin, jotka delegoivat lähteeseen tai eivät ole lähteessä. On kuitenkin monia tapauksia, joissa tulos ei ole yhtä ilmeinen, ja näitä tapauksia käsitellään vaiheen diagnostiikkailmaisimissa (dynaaminen, läpinäkymätön ja tuntematon).

Muistiinpano

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

Kyselyn delegoinnin diagnostiikan tulkitseminen

Kun tarkastelet kyselyn delegoinnin lähteeseen -ilmaisinta vaiheen vieressä, tärkeintä on, että diagnostiikkatila ei ole peräkkäin. Toisin sanoen vaiheen ilmaisin kuvaa, onko kysely kokonaisuutena enintään siihen asti taitettu vai ei. Jos ilmaisin näyttää, että kyselyä ei taiteta lähteeseen ja sen jälkeen ilmaisin näyttää, että se taittuu, kyselysi tähän asti delegoidaan lähteeseen.

Tämä tulkinta toimii myös yksinkertaisessa SQL-lähdekyselyssä. Esimerkiksi AdventureWorks-mallitietokannan avulla voit muodostaa yhteyden Production.Product-taulukkoon ja ladata 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ä alkuvaiheita ei voida vahvistaa 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ä se käsitellään luettelotaulukkoarvona, jota ei voi delegoida lähteeseen. 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. Toisin kuin tapauksessa, jossa sinulla on taitettava ilmaisin osavaiheelle, joka näyttää, että kaikki lähteeseen, jos sinulla on taittamaton ilmaisin, se ei tarkoita sitä, että kaikki ei taitu. Sen sijaan se tarkoittaa, että "kaikki ei" taittuu. 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

Ilmaisimien kyselyn delegointi lähteeseen käyttää pohjana olevaa kyselymallia ja edellyttää, että se voi saada tietoja kyselystä raporttia varten. 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.

Ilmaisin Icon Kuvaus
Taitto 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 sellainen 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ä muunninta tai liitintä.
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ä).

Esimerkkianalyysi

Aloita esimerkiksi yhdistämällä Production.Product-taulukkoon Adventure Worksissa (SQL). Alkuperäinen lataus näyttää alkuperäisen esimerkin kaltaiselta.

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

Lisävaiheiden lisääminen lähteeseen laajentaa kyseisen vihreän viivan oikealla puolella. 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.

Sellaisen vaiheen lisääminen, joka ei taita, näyttää eri ilmaisimen. 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.

Lisäämällä vaiheita, jotka riippuvat kunkin vaiheen isosta alkukirjaimesta, ei edelleenkään taiteta.

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

Jos kuitenkin poistat sarakkeen, jolle olet käyttänyt isoa kirjainta, jotta optimoitu kyselysuunnitelma voi delegoida lähteeseen vielä kerran, saat seuraavan kuvan kaltaisen tuloksen. Kuitenkin jotain tällaista on harvinaista. Tämä kuva havainnollistaa, miten vaiheiden järjestyksen lisäksi myös todelliset muunnokset ovat käytössä.

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