Jaa kautta


Kyselyn delegointi lähteeseen alkuperäisissä kyselyissä

Power Queryssä voit määritellä natiivin kyselyn ja ajaa sen tietolähdettä vastaan. Tuo data tietokannasta natiivitietokannan avulla -artikkeli selittää, miten tämä prosessi tehdään useilla tietolähteillä. Mutta käyttämällä kyseisessä artikkelissa kuvattua prosessia kyselysi ei hyödynnä mitään kyselyn taittoa myöhemmissä kyselyvaiheissa.

Tässä artikkelissa esitellään vaihtoehtoinen tapa luoda natiivikyselyitä tietolähteellesi käyttämällä Value.NativeQuery-funktiota ja pitää kyselyn taittomekanismi aktiivisena kyselyn myöhemmissä vaiheissa.

Note

Suosittelemme, että luet dokumentaation kyselyn taittamisesta ja kyselyn taittoindikaattoreista , jotta ymmärrät paremmin tässä artikkelissa käytetyt käsitteet.

Tuetut dataliittimet

Seuraavissa osioissa kuvattu menetelmä koskee seuraavia dataliittimiä:

Yhdistä kohteeseen tietolähteestä

Note

Tämän prosessin esittelemiseksi tässä artikkelissa käytetään SQL Server -liitintä ja AdventureWorks2019-esimerkkitietokantaa. Kokemus voi vaihdella liittimestä toiseen, mutta tässä artikkelissa esitellään perusteet siitä, miten kyselyn taittotoiminnot voidaan ottaa käyttöön natiivikyselyjen sijaan tuetuille liittimille.

Kun yhdistät tietolähteeseen, on tärkeää, että yhdistät solmuun tai tasoon, jossa haluat suorittaa natiivikyselysi. Tässä artikkelin esimerkissä tuo solmu on palvelimen sisäinen tietokantataso.

Kuvakaappaus yhteysasetusten valikosta AdventureWorks2019-tietokantaan paikallisessa SQL Server -instanssissa.

Kun olet määrittänyt yhteysasetukset ja antanut yhteystietosi, avautuu navigointidialogi tietolähteellesi. Navigointidialogi sisältää kaikki saatavilla olevat objektit, joihin voit yhdistää.

Tästä listasta sinun täytyy valita objekti, johon natiivikysely ajetaan (tunnetaan myös nimellä kohde). Tässä esimerkissä kyseinen objekti on tietokantataso.

Power Queryn navigaattorin ikkunassa valitse ja pidä (tai napsauta hiiren oikealla) navigaattorin ikkunassa tietokantasolmua ja valitse Muunna data-vaihtoehto . Tämän vaihtoehdon valitseminen luo uuden kyselyn tietokantasi kokonaisnäkymästä, joka on tavoite, jota tarvitset natiivikyselyn suorittamiseen.

Kuvakaappaus valitse datasta, jossa käyttäjä napsautti hiiren oikealla hiiren oikealla navigaattorissa tietokantasolmua, korostaen Muunnosdataa.

Kun kyselysi saapuu Power Query -editoriin, vain Lähde-vaihe näkyy Käytetyt vaiheet -paneelissa. Tässä vaiheessa on taulukko, jossa on kaikki tietokannan käytettävissä olevat objektit, samalla tavalla kuin ne näytettiin Navigaattori-ikkunassa.

Kuvakaappaus kyselystä, jossa on vain lähdevaihe.

Käytä Value.NativeQuery -funktiota

Tämän prosessin tavoitteena on suorittaa seuraava SQL-koodi ja soveltaa lisää Power Queryllä muunnoksia, jotka voidaan taittaa takaisin lähdekoodiin.

SELECT DepartmentID, Name FROM HumanResources.Department WHERE GroupName = 'Research and Development'

Ensimmäinen askel oli määritellä oikea kohde, joka tässä tapauksessa on tietokanta, jossa SQL-koodi suoritetaan. Kun askeleella on oikea kohde, voit valita kyseisen vaiheen – tässä tapauksessa Source Applied Stepsissä – ja valita kaavapalkista fx-painikkeen lisätäksesi mukautetun vaiheen. Tässä esimerkissä korvaa kaava Source 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 funktion neljännen parametrin valinnaisen tietueen käyttö, jossa EnableFolding-tietuekenttä on asetettu tosiarvoon.

Kuvakaappaus uudesta mukautetusta askelkaavasta, jossa käytetään Value.NativeQuery-funktiota ja eksplisiittistä SQL-kyselyä.

Note

Voit lukea lisää Value.NativeQuery-toiminnosta virallisesta dokumentaatioartikkelista.

Kun syötät kaavan, näytetään varoitus, joka vaatii natiivikyselyjen käyttöönottoa juuri sinun askeleessasi. Valitse jatka, jotta tämä vaihe arvioidaan.

Tämä SQL-lause tuottaa taulukon, jossa on vain kolme riviä ja kaksi saraketta.

Kuvakaappaus, jossa natiivikyselyn tulokset on arvioitu kohdetietokantaa vastaan.

Testikyselyn taittaminen

Testataksesi kyselyn taittoa, voit yrittää soveltaa suodatinta mihin tahansa sarakkeesi ja katsoa, näyttääkö kyselyn taittoindikaattori sovellettujen vaiheiden osiossa vaiheen taitettuna. Tässä tapauksessa voit suodattaa DepartmentID-sarakkeen arvoiksi, jotka eivät ole yhtä kuin kaksi.

Kuvakaappaus, joka näyttää, miten DepartmentID-saraketta suodatetaan niin, että arvot eivät ole kaksi.

Tämän suodattimen lisäämisen jälkeen voit tarkistaa, että kyselyn taittoindikaattorit näyttävät edelleen kyselyn taittoa tässä uudessa vaiheessa.

Suodatinvaihe näytetään taitettuna takaisin tietolähteeseen sovellettujen vaiheiden osiossa.

Varmistaaksesi tarkemmin, mitä kyselyä lähetetään tietolähteeseen, voit valita ja pitää (tai klikata hiiren oikealla) Suodatetut rivit -vaihetta sekä valitse Näytä kyselysuunnitelma -vaihtoehdon tarkistaaksesi kyseisen vaiheen kyselysuunnitelman.

Kyselysuunnitelmanäkymässä näet, että solmu, jonka nimi on Value.NativeQuery, sisältää Näytä tiedot -hyperlinkin. Voit valita tämän linkin nähdäksesi tarkalleen sen kyselyn, joka lähetetään SQL Server -tietokantaan.

Natiivikysely kierretään toisen SELECT-lauseen ympärille luodakseen alkuperäisen alakyselyn. Power Query tekee parhaansa luodakseen optimaalisen kyselyn käytettyjen muunnosten ja tarjotun natiivikyselyn perusteella.

Kuvakaappaus hakusuunnitelmasta Suodatetut rivit -vaiheeseen.

Vihje

Jos saat virheitä, koska kyselyn taittaminen ei ollut mahdollista, suosittelemme kokeilemaan askeleiden validointia alkuperäisen natiivikyselyn alakyselynä tarkistaaksesi, onko syntaksi- tai kontekstiristiriitoja.