Kyselyn delegointi lähteeseen alkuperäisissä kyselyissä
Power Queryssa voit määrittää alkuperäisen kyselyn ja suorittaa sen tietolähteessä. Tietojen tuominen tietokannasta alkuperäisen tietokantakyselyn avulla -artikkelissa kerrotaan, miten tämä prosessi voidaan tehdä useiden tietolähteiden kanssa. Tässä artikkelissa kuvattua prosessia käyttämällä kyselysi ei kuitenkaan hyödynnä kyselyiden delegointia lähteeseen myöhemmissä kyselyvaiheissa.
Tässä artikkelissa esitellään vaihtoehtoinen menetelmä alkuperäisten kyselyjen luomiseksi tietolähteestä Value.NativeQuery-funktion avulla ja kyselyn delegointi lähteeseen -menetelmän pitämiseksi aktiivisena kyselyn myöhempää vaihetta varten.
Huomautus
Suosittelemme, että luet ohjeet kyselyn delegoimisesta lähteeseen ja kyselyn delegoinnin ilmaisimista , jotta ymmärrät paremmin tässä artikkelissa käytetyt käsitteet.
Seuraavissa osissa kuvattu menetelmä koskee seuraavia tietoyhdistimiä:
- Amazon Redshift
- Dataverse (käytettäessä parannettua laskentaa)
- Google BigQuery
- PostgreSQL
- SAP HANA
- Lumihiutale
- SQL Server
Huomautus
Tässä artikkelissa käytetään tämän prosessin esittelyssä SQL Server -yhdistintä ja AdventureWorks2019-mallitietokantaa. Käyttökokemus voi vaihdella liittimestä toiseen, mutta tässä artikkelissa esitellään perusasiat siitä, miten tuettujen liittimien kyselyiden delegointi lähteeseen -ominaisuus otetaan käyttöön alkuperäisissä kyselyissä.
Kun muodostat yhteyden tietolähteeseen, on tärkeää, että muodostat yhteyden solmuun tai tasoon, jolla haluat suorittaa alkuperäisen kyselyn. Tässä artikkelissa kerrotaan esimerkiksi, että solmu on palvelimen sisäinen tietokantataso.
Kun olet määrittänut yhteysasetukset ja toimittanut yhteytesi tunnistetiedot, tietolähteen siirtymisvalintaikkuna avautuu. Siirtymisvalintaikkuna sisältää kaikki käytettävissä olevat objektit, joihin voit muodostaa yhteyden.
Tästä luettelosta on valittava objekti, jossa alkuperäinen kysely suoritetaan (kutsutaan myös kohteeksi). Tässä esimerkissä kyseinen objekti on tietokantataso.
Valitse Power Queryn siirtymisikkunassa tietokantasolmu siirtymisikkunassa ja pidä se painettuna (tai napsauta hiiren kakkospainikkeella) tietokantasolmua ja valitse Muunna tiedot -vaihtoehto. Jos valitset tämän vaihtoehdon, luo uuden kyselyn tietokantasi yleisnäkymästä, joka on kohde, jota tarvitset oman natiivikyselyn suorittamiseen.
Kun kyselysi laskeutuu Power Query -editoriin, vain Lähde-vaiheen pitäisi näkyä Käytössä olevat vaiheet -ruudussa. Tämä vaihe sisältää taulukon, joka sisältää kaikki tietokannan käytettävissä olevat objektit samalla tavalla kuin ne näkyivät Siirtymistoiminto-ikkunassa.
Tämän prosessin tavoitteena on suorittaa seuraava SQL-koodi ja käyttää Power Querylla lisää muunnoksia, jotka voidaan delegoida takaisin lähteeseen.
SELECT DepartmentID, Name FROM HumanResources.Department WHERE GroupName = 'Research and Development'
Ensimmäinen vaihe oli määrittää oikea kohde, joka tässä tapauksessa on tietokanta, jossa SQL-koodi suoritetaan.
Kun vaihe on saavuttanut oikean tavoitteen, voit valita kyseisen vaiheen – tässä tapauksessa Source-kohdan Käytössä olevat vaiheet -kohdassa – ja lisätä sitten mukautetun vaiheen valitsemalla fx-painikkeen kaavarivillä. Korvaa tässä esimerkissä Source
kaava seuraavalla kaavalla:
Value.NativeQuery(Source, "SELECT DepartmentID, Name FROM HumanResources.Department WHERE GroupName = 'Research and Development' ", null, [EnableFolding = true])
Tämän kaavan tärkein osa on sen funktion neljännen parametrin valinnaisen tietueen käyttö, jonka EnableFolding-tietuekentäksi on asetettu true.
Kun olet syöttämällä kaavan, näkyviin tulee varoitus, joka edellyttää, että otat käyttöön alkuperäiset kyselyt suoritettavaksi tietyssä vaiheessa. Valitse Jatka, jotta tämä vaihe arvioidaan.
Tämä SQL-lauseke tuottaa taulukon, jossa on vain kolme riviä ja kaksi saraketta.
Jos haluat testata kyselyn delegointia lähteeseen kyselystä, voit yrittää käyttää suodatinta mihin tahansa sarakkeeseen ja tarkistaa, näyttääkö käytettyjen vaiheiden kyselyn delegoinnin ilmaisin lähteeseen -vaiheen taitettuna. Tässä tapauksessa voit suodattaa DepartmentID-sarakkeen niin, että arvot eivät ole yhtä suuria kuin kaksi.
Kun olet lisännyt tämän suodattimen, voit tarkistaa, että kyselyn delegoinnin ilmaisimet näyttävät edelleen kyselyn delegoinnin lähteeseen tässä uudessa vaiheessa.
Jos haluat vahvistaa tietolähteeseen lähetettävän kyselyn, voit valita suodatetut rivit -vaiheen ja pitää sen painettuna (tai napsauttaa hiiren kakkospainikkeella) ja valita Näytä kyselysuunnitelma -vaihtoehdon, jos haluat tarkistaa tämän vaiheen kyselysuunnitelman.
Kyselysuunnitelmanäkymässä näet, että solmu, jonka nimi on Value.NativeQuery ja jolla on Näytä tiedot - hyperlinkki. Voit valita tämän hyperlinkin ja tarkastella tarkkaa kyselyä, joka lähetetään SQL Server -tietokantaan.
Alkuperäinen kysely rivitetään toisen SELECT-lausekkeen ympärille, jotta alkuperäisestä luodaan alikysely. Power Query tekee parhaansa optimaalisen kyselyn luomiseksi käytettyjen muunnosten ja alkuperäisen kyselyn mukaisesti.
Vihje
Tilanteissa, joissa saat virheitä, koska kyselyn delegointi lähteeseen ei ole mahdollista, suosittelemme, että yrität vahvistaa vaiheet alkuperäisen alkuperäisen alkuperäisen kyselyn alikyselyksi ja tarkistaa, onko syntaksi- tai kontekstiristiriitoja.