Bruke DirectQuery i Power BI Desktop

Med Power BI Desktop er det alltid mulig å importere en kopi av dataene i Power BI Desktop når du kobler til datakilden. Det fins en alternativ fremgangsmåte for noen datakilder: koble direkte til datakilden ved hjelp av DirectQuery.

Støttede datakilder

Hvis du vil ha en fullstendig oversikt over datakilder som støtter DirectQuery kan du se Datakilder som støttes av DirectQuery.

Slik kobler du til ved hjelp av DirectQuery

Når du bruker Hent data til å koble til en datakilde som støttes av DirectQuery kan du se dialogboksen for tilkobling for å velge hvordan du vil koble til. Eksempel: I Power BI Desktop på Hjem-båndet velger du Hent data > SQL Server. I dialogboksen for SQL Server-databasen viser Datatilkoblingsmodusen alternativer for Import og DirectQuery:

Alternativer for Import og DirectQuery, dialog for SQL Server-database, Power BI Desktop

Her er forskjellene mellom å velge Importer og DirectQuery er følgende:

  • Import: De valgte tabellene og kolonnene importeres til Power BI Desktop. Når du lager eller samhandler med en visualisering bruker Power BI Desktop de importerte dataene. Du må oppdatere dataene, som importerer det fullstendige datasettet på nytt, hvis du vil se underliggende dataendringer utført etter den første importen eller siste oppdateringen.

  • DirectQuery: Ingen data er importert eller kopiert til Power BI Desktop. De valgte tabellene og kolonnene vises i Felt-listen for relasjonelle kilder. For flerdimensjonale kilder som SAP Business Warehouse vises dimensjoner og mål for den valgte kuben i Felt-listen. Når du oppretter eller samhandler med en visualisering forespør Power BI Desktop den underliggende datakilden, noe som betyr at du alltid viser gjeldende data.

Mange datamodelleringer og datatransformasjoner er tilgjengelige når du bruker DirectQuery, men med noen begrensninger. Når du oppretter eller samhandler med en visualisering må den underliggende kilden forespørres. Tiden det tar å oppdatere visualiseringen er avhengig av ytelsen til den underliggende datakilden. Når dataene som er nødvendige for å betjene forespørselen nylig har blitt forespurt, bruker Power BI Desktop nye data til å redusere tiden det tar å vise visualiseringen. Hvis du velger Oppdater fra båndet Hjem vil alle visualiseringer oppdateres med gjeldende data.

Artikkelen om Power BI og DirectQuery beskriver DirectQuery i detalj. Se avsnittene nedenfor for mer informasjon om fordeler, begrensninger og viktige hensyn når du bruker DirectQuery.

Fordelene med å bruke DirectQuery

Det finnes noen fordeler ved å bruke DirectQuery:

  • Med DirectQuery kan du bygge visualiseringer over svært store datasett der det ellers ville vært umulig først å importere alle dataene med forhåndsaggregasjon.
  • Underliggende dataendringer kan kreve en oppdatering av data. For noen rapporter kan behovet for å vise gjeldende data kreve store dataoverføringer, noe som gjør ny import av data umulig. Som kontrast bruker DirectQuery-rapporter alltid gjeldende data.
  • Begrensningen for datasett på 1 GB gjelder ikke for DirectQuery.

Begrensninger med DirectQuery

Det finnes for tiden noen begrensninger ved bruk av DirectQuery:

  • Hvis redigeringsprogrammet Power Query er for komplisert, oppstår en feil. Hvis du vil rette feilen må du enten slette det problematiske trinnet Power Query redigeringsprogrammet , eller importere dataene i stedet for å bruke DirectQuery. For flerdimensjonale kilder som SAP Business Warehouse, er det ingen Power Query Redigeringsprogram.

  • Beregnede tabeller og beregnede kolonner som refererer til en DirectQuery-tabell fra en datakilde med enkel pålogging (SSO), støttes ikke i Power BI-tjenesten.

  • Automatisk dato/klokkeslett er ikke tilgjengelig i DirectQuery. Spesiell behandling av datokolonner (neddrilling ved bruk av år, kvartal, måned eller dag) støttes for eksempel ikke i DirectQuery-modus.

  • Skykilder har en grense på én million rader, og lokale kilder er begrenset til en definert nyttelast på ca. 4 MB per rad (avhengig av rettighetsbeskyttet komprimeringsalgoritme), eller en datastørrelse på 16 MB for hele visualobjektet. Det kan oppstå visse grenser ved bruk av Premium-kapasitet. Dette påvirker ikke aggregasjoner eller beregninger som brukes til å opprette datasettet som returneres ved hjelp av DirectQuery. Det påvirker bare radene som returneres. Premium-kapasiteter kan angi maksimale radgrenser, som beskrevet i dette innlegget.

    Du kan for eksempel aggregere ti millioner rader med spørringen som kjører på datakilden. Spørringen returnerer nøyaktig resultatene av aggregasjonen til Power BI ved hjelp av DirectQuery, så lenge dataene som returneres til Power BI består av mindre enn en million rader. Hvis over én million rader returneres fra DirectQuery, returnerer Power BI en feil (med mindre i Premium-kapasitet og radantallet er under administratorgrensen).

  • Det er en kolonnegrense på 125 i en tabell eller matrise for resultater som har mer enn 500 rader for DirectQuery-kilder. Når du viser et resultat som inneholder mer enn 500 rader i en tabell eller matrise, ser du et rullefelt som gjør det mulig å hente flere data. I denne situasjonen er det maksimale antallet kolonner i tabellen eller matrisen 125. Hvis du må inkludere mer enn 125 kolonner i en enkelt tabell eller matrise, kan du vurdere å opprette mål ved hjelp av MIN, MAX, FIRST eller LAST, da de ikke teller mot dette maksimum.

Viktige hensyn når du bruker DirectQuery

Følgende tre punkter må tas i betraktning når du bruker DirectQuery:

  • Ytelse og belastning: Alle DirectQuery-forespørsler sendes til kildedatabasen, slik at tiden det tar å oppdatere et visualobjekt er avhengig av hvor lang tid det tar før den bakenforliggende kilden responderer med resultatene fra spørringen (eller spørringene). Den anbefalte responstiden (med forespurte data som returneres) ved bruk av DirectQuery for visualobjekter er fem sekunder eller mindre, med en maksimal anbefalt responstid på 30 sekunder. Tar det lenger tid, vil brukeropplevelsen for rapportkonsumenten bli uakseptabelt dårlig. Når en rapport er publisert til Power BI-tjenesten vil alle spørringer som tar lengre tid enn et par minutter få tidsavbrudd, og brukeren får en feilmelding.

    Belastning på kildedatabasen skal også vurderes, basert på antall Power BI-brukere som skal bruke den publiserte rapporten. Å bruke Sikkerhet på radnivå (RLS) kan også ha en betydelig innvirkning. En ikke-RLS instrumentbordflis som deles av flere brukere, resulterer i en enkeltspørring til databasen. Men å bruke RLS på en instrumentbordflis betyr vanligvis at oppdateringen av en flis krever én spørring per bruker, og slik øker belastningen betraktelig på kildedatabasen og påvirker potensielt ytelsen.

    Power BI oppretter spørringer som er så effektive som de kan få blitt. I bestemte situasjoner er imidlertid den genererte spørringen kanskje ikke effektiv nok til å unngå en mislykket oppdatering. Ett eksempel på denne situasjonen er når en generert spørring henter et svært stort antall rader fra den bakenforliggende datakilden. I så fall oppstår følgende feil:

    The resultset of a query to external data source has exceeded
    

    Denne situasjonen kan oppstå med et enkelt diagram som inneholder en kolonne med svært høy kardinalitet, med aggregasjonsalternativet angitt til Ikke oppsummer. Visualobjektet må ha bare kolonner med en kardinalitet på under en million, eller det må bruke riktige filtre.

  • Sikkerhet: Som standard kobler alle brukere som bruker en publisert rapport til den bakenforliggende datakilden ved hjelp av legitimasjonen som er angitt etter publisering til Power BI-tjenesten. Dette er den samme prosessen som når data importeres: alle brukere ser de samme dataene, uavhengig av alle sikkerhetsregler som er definert i den bakenforliggende kilden.

    Kunder som ønsker sikkerhet per bruker implementert med DirectQuery-kilder bør bruke enten RLS eller konfigurere Kerberos-begrenset godkjenning mot kilden. Kerberos er ikke tilgjengelig for alle kilder. Lær mer om RLS. Les mer om Kerberos i DirectQuery.

  • Støttede funksjoner: Ikke alle funksjoner i Power BI Desktop støttes i DirectQuery-modus, eller de har noen begrensninger. I tillegg finnes det noen funksjoner i Power BI-tjenesten (for eksempel Rask innsikt) som ikke er tilgjengelige for datasett ved bruk av DirectQuery. Når du avgjør om du ønsker å bruke DirectQuery burde du vurdere disse funksjonsbegrensningene.

Obs!

Når du bruker DirectQuery med en Azure SQL Database og en privat IP-adresse, kreves det en lokal gateway.

Publisere til Power BI-tjenesten

Rapporter som er opprettet ved hjelp av DirectQuery kan publiseres til Power BI-tjenesten.

Hvis datakilden som brukes ikke trenger den lokale datagatewayen (Azure SQL Database, Azure Synapse Analytics (tidligere SQL Data Warehouse) eller Redshift), må du angi legitimasjon før Power BI-tjenesten viser den publiserte rapporten. Følg instruksjonene for å oppgi legitimasjon:

  1. Logg deg på Power BI.

  2. I Power BI-tjenesten velger du tannhjulikonet Innstillinger, og deretter velger du menyelementet Innstillinger.

    Innstillinger, Power BI-tjeneste

  3. På siden for Innstillinger i Power BI-tjenesten velger du fanen Datasett, deretter datasettet som bruker DirectQuery, og velg Rediger legitimasjon.

  4. Legg til legitimasjon. Ellers oppstår det en feil når du åpner en publisert rapport eller utforsker et datasett som er opprettet med en DirectQuery-tilkobling.

Hvis du vil opprette en datatilkobling for andre datakilder enn Azure SQL Database, Azure Synapse Analytics (tidligere SQL Data Warehouse), Redshift- eller Snowflake-Data Warehouse som bruker DirectQuery, installerer du en lokal datagateway og registrerer datakilden. For mer informasjon se Hva er en lokal datagateway?

Neste trinn

Hvis du vil ha mer informasjon om DirectQuery, kan du se på følgende ressurser: