DirectQueryn käyttö Power BI Desktopissa

Kun muodostat Power BI Desktopilla yhteyden mihin tahansa tietolähteeseen, voit tuoda kopion tiedoista. Joidenkin tietolähteiden kohdalla voit myös muodostaa yhteyden suoraan tietolähteeseen tuomatta tietoja DirectQueryn avulla.

Voit selvittää, tukeeko tietolähde DirectQueryä, tarkastelemalla artikkelin Näyttöyhteys ors (Power Query) käytettävissä olevien tietolähteiden täydellistä luetteloa, joka koskee myös Power BI:tä. Valitse sitten tuettujen liittimien luettelosta tietolähde, jonka otsikko on Toiminnot. Jos DirectQueryä ei luetella tietolähteen artikkelin osiossa, DirectQuerya ei tueta kyseisessä tietoyhdistimessä.

Tuonti- ja DirectQuery-yhteystilojen käyttämisessä on seuraavat erot:

  • Tuonti: Kopio valittujen taulukoiden ja sarakkeiden tiedoista, jotka tuodaan Power BI Desktopiin. Kun luot tai käsittelet visualisointeja, Power BI Desktop käyttää tuotuja tietoja. Jos haluat nähdä taustalla olevat tietojen muutokset alkuperäisen tuonnin tai viimeisimmän päivityksen jälkeen, sinun on tuotava koko semanttinen malli uudelleen tietojen päivittämiseksi.

  • DirectQuery: Tietojen tuontia Power BI Desktopiin ei ole. Voit valita relaatiolähteistä taulukot ja sarakkeet, jotka näkyvät Power BI Desktopin Kentät-luettelossa . Monidimensioisia lähteitä, kuten SAP Business Warehouse (SAP BW), valitun kuution dimensiot ja mittarit näkyvät Kentät-luettelossa . Kun luot tai käsittelet visualisointeja, Power BI Desktop lähettää kyselyjä pohjana olevaan tietolähteeseen ja näet aina ajantasaiset tiedot.

Kun luot tai käsittelet visualisointia DirectQueryllä, sinun on tehtävä kysely pohjana olevalle lähteelle. Visualisoinnin päivittämiseen kuluva aika riippuu pohjana olevan tietolähteen suorituskyvystä. Jos palvelupyynnön palveluun tarvittavia tietoja pyydettiin äskettäin, Power BI Desktop käyttää viimeisimpiä tietoja visualisoinnin näyttämiseen vaaditun ajan lyhentämiseksi. Päivitä-vaihtoehdonvalitseminen Aloitus-valintanauhasta päivittää kaikki visualisoinnit käyttäen nykyisiä tietoja.

DirectQueryä käytettäessä on saatavilla monia tietojen mallinnuksia ja muunnoksia, vaikka siihen liittyykin joitakin suorituskykyyn perustuvia rajoituksia. Lisätietoja DirectQueryn eduista, rajoituksista ja suosituksista on artikkelissa DirectQuery Power BI:ssä.

DirectQueryn edut

DirectQueryn käyttöön liittyviä etuja ovat muun muassa seuraavat:

  • Voit DirectQueryn avulla luoda visualisointeja hyvin laajoista semanttisista malleista, eikä kaikkien tietojen tuominen olisi mahdotonta esikoostessa.

  • DirectQuery-raportit käyttävät aina ajantasaista tietoa. Pohjana olevien tietojen muutosten näkeminen edellyttää tietojen päivittämistä, eikä suurten semanttisten mallien uudelleentuominen tietojen päivittämiseksi voi olla mahdotonta.

  • Semanttisen 1 Gt:n mallirajoitusta ei sovelleta DirectQueryn kanssa.

Näyttöyhteys DirectQueryn avulla

Yhteyden muodostaminen tietolähteeseen DirectQueryn avulla:

  1. Valitse Power BI Desktopin valintanauhan Aloitus-ryhmästä Nouda tiedot ja valitse sitten DirectQueryn tukema tietolähde, kuten SQL Server.

  2. Valitse yhteyden valintaikkunan Tietoyhteystila-kohdasta DirectQuery.

Tuonti- ja DirectQuery-asetukset, SQL Server Database -valintaikkuna, Power BI Desktop

Julkaiseminen Power BI -palvelussa

Voit julkaista DirectQuery-raportteja Power BI -palvelu, mutta sinun on ryhdyttävä lisätoimiin Power BI -palvelu avataksesi raportit.

  • Jos haluat yhdistää Power BI -palvelu Muihin DirectQuery-tietolähteisiin kuin Azure SQL-tietokanta, Azure Synapse Analyticsiin (aiemmin SQL Data Warehouse), Amazon Redshiftiin ja Snowflake Data Warehouseen, asenna paikallinen tietoyhdyskäytävä ja rekisteröi tietolähde.

  • Jos käytit DirectQueryä pilvilähteiden kuten Azure SQL-tietokanta, Azure Synapsen, Amazon Redshiftin tai Snowflake Data Warehousen kanssa, et tarvitse paikallista tietoyhdyskäytävää. Sinun on edelleen annettava Power BI -palvelu tunnistetiedot julkaistun raportin avaamiseksi. Ilman tunnistetietoja ilmenee virhe, kun yrität avata julkaistun raportin tai tutustua DirectQuery-yhteydellä luotuun semanttiseen malliin.

Tunnistetietojen antaminen raportin avaamista ja tietojen päivittämistä varten:

  1. Valitse Power BI -palvelu oikeasta yläkulmasta hammaspyöräkuvake ja valitse Asetukset.

    Näyttökuva avattavasta Power BI -palvelu Asetukset valikosta.

  2. Valitse Asetukset-sivullaSemanttiset mallit -välilehti ja valitse semanttinen malli, joka käyttää DirectQueryä.

  3. Anna Tietolähdeyhteys-kohdassa tunnistetiedot yhteyden muodostamiseksi tietolähteeseen.

Muistiinpano

Jos käytit DirectQuerya Azure-SQL-tietokanta, jolla on yksityinen IP-osoite, sinun on käytettävä paikallista yhdyskäytävää.

Huomioitavat asiat ja rajoitukset

Joitakin Power BI Desktopin ominaisuuksia ei tueta DirectQuery-tilassa tai niihin liittyy joitakin rajoituksia. Jotkin Power BI -palvelu toiminnot, kuten nopeat merkitykselliset tiedot, eivät myöskään ole käytettävissä DirectQueryä käyttävissä semanttisissa malleissa. Kun päätät, käytätkö DirectQueryä, harkitse näitä ominaisuuksien rajoituksia. Ota huomioon myös seuraavat tekijät:

Suorituskykyyn ja kuormitukseen liittyvät seikat

DirectQuery lähettää kaikki pyynnöt lähdetietokantaan, joten visualisointien vaadittu päivitysaika riippuu siitä, kuinka kauan pohjana olevalta lähteellä kestää tulosten palauttamiseen. Suositeltu vastausaika visualisointeihin pyydettyjen tietojen vastaanottamiseen on korkeintaan viisi sekuntia. Yli 30 sekunnin päivitysajat tuottavat erittäin huonon käyttökokemuksen raporttia käyttäville käyttäjille. Kysely, joka kestää yli neljä minuuttia, aikakatkaistaan Power BI -palvelu ja käyttäjä saa virheen.

Lähdetietokannan kuormitus riippuu myös julkaistua raporttia käyttävien Power BI -käyttäjien määrästä, erityisesti silloin, jos raportissa käytetään rivitason suojausta (RLS). Useiden käyttäjien jakaman muun kuin RLS-koontinäytön ruudun päivitys lähettää yksittäisen kyselyn tietokantaan, mutta rivitason suojausta käyttävän koontinäytön ruudun päivittäminen edellyttää yhtä kyselyä käyttäjää kohden. Lisääntyneet kyselyt lisäävät merkittävästi kuormitusta ja saattavat vaikuttaa suorituskykyyn.

Miljoonan rivin rajoitus

DirectQuery määrittää miljoonan rivin rajoituksen pilvipalvelutietolähteistä palautetuille tiedoille, jotka eivät ole paikallisia. Paikalliset lähteet on rajoitettu määritettyyn hyötykuormaan, joka on noin 4 Mt riviä kohti, omistusoikeudellisen pakkausalgoritmin mukaan, tai 16 Mt koko visualisoinnille. Premium-kapasiteetit voivat määrittää erilaisia rivien enimmäisrajat, kuten on kuvattu blogikirjoituksessa Power BI Premiumin uudet kapasiteettiasetukset.

Power BI luo kyselyjä, jotka ovat mahdollisimman tehokkaita, mutta jotkin luodut kyselyt saattavat noutaa liikaa rivejä pohjana olevasta tietolähteestä. Tämä tilanne voi ilmetä esimerkiksi yksinkertaisen kaavion yhteydessä, joka sisältää suuren kardinaliteettisarakkeen, jonka koostamisasetuksena on Älä tee yhteenvetoa. Visualisoinnissa on oltava vain sarakkeita, joiden kardinaliteetti on alle miljoona, tai siihen on sovellettava asianmukaisia suodattimia.

Rivirajoitusta ei sovelleta koosteisiin tai laskelmiin, joita käytetään semanttisen DirectQuery-mallin valitsemiseen, vain palautettuihin riveihin. Esimerkiksi tietolähteestä suoritettava kysely voi koostaa 10 miljoonaa riviä. Kunhan Power BI:hin palautettuja tietoja on alle miljoona riviä, kysely voi palauttaa tulokset tarkasti. Jos tietoja on yli miljoona riviä, Power BI näyttää virheen, lukuun ottamatta Premium-kapasiteetissa, jolla on erilaiset järjestelmänvalvojan määrittämät rajoitukset. Virhesanoma: Ulkoisen tietolähteen kyselyn tulosjoukko on ylittänyt suurimman sallitun koon, joka on 1000000 riviä.

Tietoturvaan liittyviä seikkoja

Oletusarvoisesti kaikki käyttäjät, jotka käyttävät julkaistua raporttia Power BI -palvelu muodostaa yhteyden pohjana olevaan tietolähteeseen kirjautumisen jälkeen annettujen tunnistetietojen avulla. Tilanne on sama kuin tuotujen tietojen kohdalla. Kaikki käyttäjät näkevät samat tiedot riippumatta taustalla olevan lähteen määrittämistä suojaussäännöistä.

Jos haluat käyttää käyttäjäkohtaista suojausta DirectQuery-lähteissä, käytä RLS-protokollaa tai määritä lähteelle rajoitettu Kerberos-todentaminen. Kerberos ei ole käytettävissä kaikille lähteille. Lisätietoja on artikkelissa Rivitason suojaus (RLS) Power BI:ssä ja Kerberos-pohjaisen kertakirjautumisen määrittäminen Power BI -palvelu:stä paikallisiin tietolähteisiin.

Muut DirectQuery-rajoitukset

Muita DirectQueryn käytön rajoituksia ovat muun muassa seuraavat:

  • Jos Power Query -editori kysely on liian monimutkainen, tapahtuu virhe. Virheen korjaamiseksi on joko poistettava ongelmallinen vaihe Power Query -editori tai siirryttävä tuontitilaan. SAP BW:n kaltaiset monidimensiolähteet eivät voi käyttää Power Query -editori.

  • Automaattinen päivämäärä/aika-hierarkia ei ole käytettävissä DirectQueryssä. DirectQuery-tila ei tue päivämääräsarakkeen porautumista vuoden, vuosineljänneksen, kuukauden tai päivän mukaan.

  • Taulukko- tai matriisivisualisoinneissa on 125 sarakkeen rajoitus tuloksille, jotka palauttavat yli 500 riviä DirectQuery-lähteistä. Tuloksissa näkyy vierityspalkki taulukossa tai matriisissa, josta voit noutaa enemmän tietoja. Tässä tilanteessa taulukon tai matriisin sarakkeiden enimmäismäärä on 125. Jos sinun on sisällytettävä yli 125 saraketta yhteen taulukkoon tai matriisiin, harkitse sellaisten mittareiden luomista, jotka käyttävät MIN-, MAXFIRST- tai LAST-sarakkeita, koska niitä ei lasketa mukaan tähän enimmäismäärään.

  • Tuontitilasta ei voi vaihtaa DirectQuery-tilaan. Voit vaihtaa DirectQuery-tilasta tuontitilaan, jos tuot kaikki tarvittavat tiedot. Takaisin vaihtaminen ei ole mahdollista, mikä johtuu pääasiassa siitä ominaisuusjoukosta, jota DirectQuery ei tue. DirectQuery-malleja, jotka käyttävät SAP BW:n kaltaisia monidimensioisia lähteitä, ei myöskään voi vaihtaa DirectQuery-tilasta tuontitilaan, koska ulkoisia mittareita käsitellään eri tavalla.

  • Power BI -palvelu ei tueta laskettuja taulukoita ja laskettuja sarakkeita, jotka viittaavat kertakirjautumisen (SSO) todennuksen sisältävän tietolähteen DirectQuery-taulukkoon.