Administrer lagringsmodus i Power BI Desktop

Du kan angi lagringsmodusen til tabeller i Microsoft Power BI Desktop. Lagringsmodusen styrer om Power BI Desktop skal bufre tabelldata i minnet for rapporter.

Det er mange fordeler med å angi lagringsmodus. Du kan angi lagringsmodusen for hver tabell enkeltvis i modellen. Denne handlingen aktiverer ett enkelt datasett, som har følgende fordeler:

  • Spørringsytelse: Mens brukerne samhandler med visualobjekter i Power BI-rapporter, sendes DAX-spørringer (Data Analysis Expressions) til datasettet. Bufring av data i minnet ved å angi lagringsmodus riktig, kan øke spørringsytelsen og gjøre rapportene mer interaktive.

  • Store datasett: Tabeller som ikke bufres, forbruker ikke minne for hurtigbufringsformål. Du kan aktivere interaktive analyser over store datasett som er for store eller dyre til å bufre fullstendig i minnet. Du kan velge hvilke tabeller du bør og ikke bør bufre.

  • Optimalisering av dataoppdatering: Tabeller som ikke bufres, må ikke oppdateres. Du kan redusere oppdateringstidspunktene ved bare å bufre dataene som er nødvendige for å oppfylle tjenestenivåavtalene og forretningsmessige krav.

  • Krav om tilnærmet sanntid: Tabeller med krav om tilnærmet sanntid bør helst ikke bufres, for å redusere dataventetid.

  • Tilbakeskriving: Med tilbakeskriving kan forretningsbrukere utforske hva-skjer-hvis-scenarioer ved å endre celleverdier. Egendefinerte programmer kan ta i bruk endringer til datakilden. Tabeller som ikke bufres kan vise endringer umiddelbart, noe som tillater en umiddelbar analyse av effektene.

Lagringsmodusinnstillingen i Power BI Desktop er én av tre relaterte funksjoner:

  • Sammensatte modeller: Tillater at en rapport kan ha to eller flere datatilkoblinger, inkludert DirectQuery-tilkoblinger eller import, i en hvilken som helst kombinasjon. Du finner mer informasjon i Bruk sammensatte modeller i Power BI Desktop.

  • Mange-til-mange-relasjoner: Med sammensatte modeller kan du etablere mange-til-mange-relasjoner mellom tabeller. I mange-til-mange-relasjoner fjernes kravet om unike verdier i tabeller. De fjerner også tidligere midlertidige løsninger, for eksempel å introdusere bare nye tabeller for å opprette relasjoner. Hvis du vil ha mer informasjon, kan du se Mange-til-mange-relasjoner i Power BI Desktop.

  • Lagringsmodus: Med lagringsmodus kan du nå angi hvilke visualobjekter som krever en spørring til datakilder på serverdelen. Visualobjekter som ikke krever en spørring, importeres selv om de er basert på DirectQuery. Denne funksjonen bidrar til å forbedre ytelsen og redusere belastningen på serverdelen. Tidligere innledet til og med enkle visualobjekter, som for eksempel slicere, at spørringer ble sendt til serverdelkilder.

Bruk egenskapen «Lagringsmodus»

Lagringsmodusen er en egenskap du kan angi for hver tabell i modellen, som styrer hvordan Power BI bufrer dataene i tabellen.

For å angi lagringsmodus-egenskapen, eller for å vise gjeldende innstilling:

  1. Velg tabellen du vil vise eller angi egenskapene på i modell-visningen.

  2. I ruten Egenskaper utvider du delen Avansert, og deretter rullegardinlistenLagringmodus.

    Select the Storage mode property

Du setter her egenskapen Lagringsmodus til én av følgende tre verdier:

  • Import: Importerte tabeller med denne innstillingen bufres. Spørringer som sendes til Power BI-datasettet som returnerer data fra importtabeller, kan bare fullføres fra bufrede data.

  • DirectQuery: Importerte tabeller med denne innstillingen bufres ikke. Spørringer du sender inn til Power BI-datasettet, for eksempel DAX-spørringer, og som returnerer data fra DirectQuery-tabeller, kan bare oppfylles ved å kjøre behovsbetingede spørringer til datakilden. Spørringer du sender til datakilden bruker spørringsspråket for datakilden, for eksempel SQL.

  • Dobbel: Tabeller med denne innstillingen kan enten være bufret eller ikke, avhengig av konteksten til spørringen som sendes til Power BI-datasettet. I noen tilfeller fullfører du spørringer fra bufrede data. I andre tilfeller fullfører du spørringer ved å kjøre en behovsbetinget spørring til datakilden.

Hvis du endrer Lagringsmodusen på en tabell til Import, blir dette en permanent endring. Når den er angitt, kan ikke egenskapen endres tilbake til DirectQuery eller Dobbel på et senere tidspunkt.

Obs!

Du kan bruke Dobbel lagringsmodus både i Power BI Desktop og i Power BI-tjenesten.

Begrensninger for DirectQuery-tabeller og doble tabeller

Dobbelttabeller er underlagt de samme funksjonsbegrensningene som DirectQuery-tabeller. Dette inkluderer begrensede M-transformasjoner og begrensede DAX-funksjoner i beregnede kolonner. Hvis du vil ha mer informasjon, kan du se Implikasjoner ved bruk av DirectQuery.

Overføring av Dobbel-innstillingen

Se på følgende enkle modell hvor alle tabellene kommer fra en enkelt kilde som støtter Import og DirectQuery.

Example Relationship view for storage mode

La oss si at alle tabeller i denne modellen er satt til DirectQuery til å begynne med. Hvis du deretter endrer Lagringsmodus for SurveyResponse-tabellen til Import, vises følgende vindu med advarsel:

Storage mode warning window

Du kan angi dimensjonstabellene (Kunde, Geografi og Dato) til Dobbel for å redusere antallet begrensede relasjoner i datasettet og forbedre ytelsen. Begrensede relasjoner involverer vanligvis minst én tabell for DirectQuery der sammenføyningslogikken ikke kan sendes til kildesystemene. Ettersom doble tabeller kan fungere både som DirectQuery- og Import-tabeller, unngås denne situasjonen.

Overføringslogikken er laget for å hjelpe med modeller som inneholder mange tabeller. La oss si at du har en modell med 50 tabeller, og bare bestemte tabeller (transaksjonsbaserte) må bufres. Logikken i Power BI Desktop beregner minimumsettet med dimensjonstabeller som må være angitt til Dobbel, slik at du slipper å gjøre det.

Overføringslogikken passerer bare til den ene siden av én-til-mange-relasjoner.

Eksempel på bruk av lagringsmodus

La oss fortsette med eksemplet fra forrige avsnitt, og tenk deg at vi bruker følgende innstillinger for egenskapen lagringsmodus:

Tabell Lagringsmodus
Salg DirectQuery
SurveyResponse Importer
Dato Dobbel
Kunde Dobbel
Geografi Dobbel

Følgende virkemåter blir resultatet av å angi disse egenskapene for lagringsmodus, med antagelse om at Salg-tabellen har et betydelig datavolum:

  • Power BI Desktop bufrer dimensjonstabellene Dato, Kunde og Geografi, slik at de første rapportinnlastingstidene er raske når de henter slicerverdier som skal vises.

  • Power BI Desktop bufrer ikke Salg-tabellen. Hvis du angir at denne tabellen ikke skal bufres, vises følgende resultater i Power BI Desktop:

    • Dataoppdateringen blir raskere og minneforbruket reduseres.
    • Rapportspørringer som er basert på Salg-tabellen, kjører i DirectQuery-modus. Disse spørringene kan ta lengre tid, men er nærmere sanntid, fordi det ikke finnes noen bufringsventetid.
  • Rapportspørringer som er basert på SurveyResponse-tabellen, returneres fra hurtigbufferen i minnet, og er derfor relativt raske å hente.

Spørringer som treffer eller misser hurtigbufferen

Hvis du kobler SQL Profiler til diagnoseporten for Power BI Desktop, kan du se hvilke spørringer som treffer eller bommer på hurtigbufferen i minnet, ved å utføre en sporing basert på følgende hendelser:

  • Spør i hendelser \ Spørringen begynner
  • Spørringen behandles \ Vertipaq SE-spørringen begynner
  • Spørringen behandles \ DirectQuery-spørringen begynner

Når det gjelder hver Spørringen begynner-hendelse, kontrollerer du andre hendelser med samme ActivityID. Hvis det for eksempel ikke finnes noen DirectQuery begynner-hendelse, men hendelsen Vertipaq SE-spørringen begynner finnes, besvares spørringen fra hurtigbufferen.

Spørringer som refererer til Dobbel-tabeller returnerer data fra hurtigbufferen hvis mulig, ellers går de tilbake til DirectQuery.

Hvis vi fortsetter med det forrige eksemplet, ser vi at følgende spørring refererer bare til en kolonne fra Dato-tabellen, som er i Dobbel-modus. Derfor bør spørringen treffe hurtigbufferen:

Screenshot shows text of query that refers to the Date table.

Den følgende spørringen refererer bare til en kolonne fra Salg-tabellen som er i DirectQuery-modus. Den skal derfor ikke treffe hurtigbufferen:

Screenshot shows text of query that refers the Sales table.

Den følgende spørringen er interessant fordi den kombinerer begge kolonnene. Denne spørringen treffer ikke hurtigbufferen. Du forventer kanskje innledningsvis at den henter CalendarYear-verdier fra hurtigbufferen og SalesAmount-verdier fra kilden, og deretter kombinerer resultatene, men denne tilnærmingen er mindre effektiv enn å sende SUM/GROUP BY-operasjonen til kildesystemet. Hvis operasjonen sendes ned til kilden, blir antallet rader som returneres langt færre:

Screenshot shows text of query that refers to both the Date table and the Sales table.

Obs!

Denne virkemåten er annerledes enn mange-til-mange-relasjoner i Power BI Desktop når bufrede og ikke-bufrede tabeller kombineres.

Hurtigbuffere bør være synkronisert

Spørringene som ble vist i den forrige inndelingen, viste at Dobbel-tabeller noen ganger treffer hurtigbufferen, og andre ganger ikke. Hvis hurtigbufferen er utdatert, kan dette resultere i at ulike verdier returneres. Spørringskjøring vil ikke forsøke å skjule dataproblemer ved for eksempel å filtrere DirectQuery-resultater for å samsvare med bufrede verdier. Det er ditt ansvar å kjenne din egen dataflyt, og du bør utforme i henhold til dette. Det finnes etablerte teknikker for å håndtere slike tilfeller ved kilden, ved behov.

Lagringsmodusen Dobbel optimerer ytelsen. Den bør brukes bare i situasjoner som ikke kompromitterer evnen til å oppfylle forretningsmessige krav. Hvis du vil bruke alternative virkemåter, kan du vurdere å bruke teknikkene som beskrives i Mange-til-mange-relasjoner i Power BI Desktop.

Datavisning

Hvis minst én tabell i datasettet har lagringsmodusen angitt til enten Import eller Dobbel, vises Datavisning-fanen.

Data view in Power BI Desktop

Når du velger tabeller i Dobbel- og Import-modus i Datavisning-fanen, viser dem bufrede data. DirectQuery-tabeller viser ingen data, og du vil se en melding som forklarer at DirectQuery-tabeller ikke kan vises.

Viktige faktorer og begrensninger

Det er et par begrensninger med denne utgivelsen av lagringsmodus og korrelasjonen med sammensatte modeller.

De følgende Live Connect (flerdimensjonale)-kildene kan ikke brukes med sammensatte modeller:

  • SAP HANA
  • SAP Business Warehouse
  • SQL Server Analysis Services
  • Power BI-datasett
  • Azure Analysis Services

Når du kobler til disse flerdimensjonale kildene ved hjelp av DirectQuery, kan du ikke koble til en annen DirectQuery-kilde eller kombinere den med importerte data.

De eksisterende begrensningene ved å bruke DirectQuery gjelder fortsatt når du bruker sammensatte modeller. Mange av disse begrensningene gjelder nå per tabell, avhengig av lagringsmodusen til tabellen. En beregnet kolonne i en importert tabell kan for eksempel referere til andre tabeller, men en beregnet kolonne i en DirectQuery-tabell begrenser fremdeles til bare å vise kolonner i samme tabell. Andre begrensninger gjelder for modellen som en helhet, hvis noen av tabellene i modellen er av typen DirectQuery. QuickInsights- og QA-funksjonene& er for eksempel ikke tilgjengelige på en modell hvis noen av tabellene i den har en lagringsmodus for DirectQuery.

Neste trinn

Hvis du vil ha mer informasjon om sammensatte modeller og DirectQuery, kan du se følgende artikler: