Del via


Behandle lagringsmodus i Power BI Desktop

I Microsoft Power BI Desktop kan du angi lagringsmodus for en tabell. Lagringsmodus lar deg kontrollere om Power BI Desktop bufrer tabelldata i minnet for rapporter eller ikke. Hurtigbufring betyr midlertidig lagring av data i minnet.

Hvis du angir lagringsmodus, får du mange fordeler. Du kan angi lagringsmodus for hver tabell individuelt i modellen. Denne handlingen aktiverer én enkelt semantisk modell, som gir følgende fordeler:

  • Spørringsytelse: Når brukere samhandler med visualobjekter i Power BI-rapporter, sendes DAX-spørringer (Data Analysis Expressions) til den semantiske modellen. Hurtigbufring av data i minnet ved å angi lagringsmodusen på riktig måte kan øke spørringsytelsen og interaktiviteten til rapportene.

  • Store semantiske modeller: Tabeller som ikke bufres, bruker ikke minne for hurtigbufringsformål. Du kan aktivere interaktiv analyse over store semantiske modeller som er for store eller dyre til å bufre fullstendig til minnet. Du kan velge hvilke tabeller som er verdt å bufre, og hvilke som ikke er det.

  • Optimalisering av dataoppdatering: Du trenger ikke å oppdatere tabeller som ikke bufres. Du kan redusere oppdateringstidene ved å bufre bare dataene som er nødvendige for å oppfylle serviceavtalene og forretningskravene dine.

  • Krav til nær sanntid: Tabeller med krav til nær sanntid kan ha nytte av å ikke bufres, for å redusere ventetiden for data.

  • Tilbakeskriving: Tilbakeskriving gjør det mulig for forretningsbrukere å utforske hva-skjer-hvis-scenarier ved å endre celleverdier. Egendefinerte programmer kan bruke endringer i datakilden. Tabeller som ikke bufres, kan vise endringer umiddelbart, noe som tillater umiddelbar analyse av effektene.

Innstillingen for lagringsmodus i Power BI Desktop er én av tre relaterte funksjoner:

  • Sammensatte modeller: Gjør det mulig for en rapport å ha to eller flere datatilkoblinger, inkludert DirectQuery-tilkoblinger eller Importer, i en hvilken som helst kombinasjon. Hvis du vil ha mer informasjon, kan du se Bruke sammensatte modeller i Power BI Desktop.

  • Mange-til-mange-relasjoner: Med sammensatte modeller kan du etablere mange-til-mange-relasjoner mellom tabeller. I en mange-til-mange-relasjon fjernes kravene for unike verdier i tabeller. Den fjerner også tidligere midlertidige løsninger, for eksempel innføring av nye tabeller bare for å etablere 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 serverdeldatakilder. Visualobjekter som ikke krever en spørring, importeres selv om de er basert på DirectQuery. Denne funksjonen bidrar til å forbedre ytelsen og redusere belastning på bakserveren. Tidligere startet selv enkle visualobjekter, for eksempel slicere, spørringer som ble sendt til serverdelkilder.

Bruk egenskapen Lagringsmodus

Egenskapen lagringsmodus er en egenskap som du kan angi for hver tabell i modellen, og styrer hvordan Power BI bufrer tabelldataene.

Slik angir du egenskapen Lagringsmodus eller viser gjeldende innstilling:

  1. Velg tabellen du vil vise eller angi egenskaper for, i modellvisning .

  2. Utvid Avansert-delen i Egenskaper-ruten, og utvid rullegardinlisten lagringsmodus.

    Screenshot of Relationship view highlight the option drop-down to change the storage mode.

Du angir egenskapen Lagringsmodus til én av disse tre verdiene:

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

  • DirectQuery: Tabeller med denne innstillingen bufres ikke. Spørringer som du sender inn til semantisk Power BI-modell – 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 denne datakilden, for eksempel SQL.

  • Dobbel: Tabeller med denne innstillingen kan fungere som hurtigbufrede eller ikke bufrede, avhengig av konteksten til spørringen som sendes til semantisk Power BI-modell. I noen tilfeller oppfyller du spørringer fra bufrede data. I andre tilfeller oppfyller du spørringer ved å kjøre en behovsbetinget spørring til datakilden.

Endring av lagringsmodus for en tabell til import er en irreversibel operasjon. Når denne egenskapen er angitt, kan den ikke senere endres til directquery eller dobbel.

Merk

Du kan bruke dobbel lagringsmodus både i Power BI Desktop og Power Bi-tjeneste.

Begrensninger i DirectQuery- og Dual-tabeller

Doble tabeller har samme funksjonelle begrensninger som DirectQuery-tabeller. Disse begrensningene inkluderer begrensede M-transformasjoner og begrensede DAX-funksjoner i beregnede kolonner. Hvis du vil ha mer informasjon, kan du se DirectQuery-begrensninger.

Overføring av dobbel innstilling

Vurder følgende modell, der alle tabellene er fra én enkelt kilde som støtter Import og DirectQuery.

Screenshot of the example Relationship view for storage mode.

La oss si at alle tabeller i denne modellen i utgangspunktet er satt til DirectQuery. Hvis du deretter endrer lagringsmodusen i SurveyResponse-tabellen til Import, vises følgende advarselsvindu:

Screenshot showing a warning window that describes the results of changing the storage mode to Import.

Du kan angi dimensjonstabellene (Kunde, Geografi og Dato) til Dobbel for å redusere antall begrensede relasjoner i semantisk modell, og forbedre ytelsen. Begrensede relasjoner involverer vanligvis minst én DirectQuery-tabell der sammenføyningslogikk ikke kan sendes til kildesystemene. Siden doble tabeller kan fungere som enten DirectQuery- eller Importer-tabeller, unngås denne situasjonen.

Overføringslogikken er utformet for å hjelpe deg med modeller som inneholder mange tabeller. La oss si at du har en modell med 50 tabeller, og at bare bestemte faktatabeller (transaksjonstabeller) må bufres. Logikken i Power BI Desktop beregner minimumssettet med dimensjonstabeller som må settes til Dobbel, slik at du ikke trenger det.

Overføringslogikken krysser bare til én side av én-til-mange-relasjoner.

Eksempel på bruk av lagringsmodus

Tenk deg å bruke følgende egenskapsinnstillinger for lagringsmodus:

Table Lagringsmodus
Salg DirectQuery
SurveyResponse Import
Dato Dual
Customer Dual
Geography Dual

Hvis du angir disse egenskapene for lagringsmodus, resulterer det i følgende virkemåter, forutsatt at Salg-tabellen har betydelig datavolum:

  • Power BI Desktop bufrer dimensjonstabeller, Dato, Kunde og Geografi, slik at innlastingstidene for innledende rapporter er raske når de henter slicerverdier som skal vises.

  • Power BI Desktop bufrer ikke Salg-tabellen. Power BI Desktop gir følgende resultater ved ikke å bufre denne tabellen:

    • Dataoppdateringstidene forbedres, 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 ingen hurtigbufringsventetid innføres.
  • Rapportspørringer som er basert på SurveyResponse-tabellen , returneres fra minnehurtigbufferen, og er derfor relativt raske.

Spørringer som treffer eller går glipp av hurtigbufferen

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

  • Spørringshendelser\Spørringsstart
  • Spørringsbehandling\Vertipaq SE-spørring begynner
  • Spørringsbehandling\DirectQuery Begin

Kontroller andre hendelser med samme ActivityID for hver spørringsstarthendelse. Hvis det for eksempel ikke finnes en DirectQuery Begin-hendelse , men det finnes en Vertipaq SE Query Begin-hendelse , besvares spørringen fra hurtigbufferen.

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

Følgende spørring fortsetter fra den forrige tabellen. Den refererer bare til en kolonne fra Dato-tabellen , som er i dobbel modus. Derfor bør spørringen treffe hurtigbufferen:

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

Følgende spørring refererer bare til en kolonne fra Salg-tabellen , som er i DirectQuery-modus . Derfor bør den ikke treffe hurtigbufferen:

Screenshot showing the text of query that refers the Sales table.

Følgende spørring er interessant fordi den kombinerer begge kolonnene. Denne spørringen treffer ikke hurtigbufferen. Du kan i utgangspunktet forvente at den henter CalendarYear-verdier fra hurtigbufferen og SalesAmount-verdiene 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, vil antall rader som returneres sannsynligvis være langt mindre:

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

Merk

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

Hurtigbuffere bør holdes synkronisert

Spørringene som vises i forrige del, viser at doble tabeller noen ganger treffer hurtigbufferen og noen ganger ikke gjør det. Hvis hurtigbufferen er utdatert, kan derfor forskjellige verdier returneres. Spørringskjøring vil ikke forsøke å maskere dataproblemer ved for eksempel å filtrere DirectQuery-resultater for å samsvare med bufrede verdier. Det er ditt ansvar å kjenne til dataflytene dine, og du bør utforme tilsvarende. Det finnes etablerte teknikker for å håndtere slike tilfeller ved kilden, om nødvendig.

Dobbel lagringsmodus er en ytelsesoptimalisering. Den bør bare brukes på måter som ikke kan gå på akkord med muligheten til å oppfylle forretningskrav. Hvis du vil ha alternativ atferd, kan du vurdere å bruke teknikkene som er beskrevet i Mange-til-mange-relasjoner i Power BI Desktop.

Datavisning

Hvis minst én tabell i semantisk modell har lagringsmodusen satt til enten Import eller Dobbel, kan datavisningsfanen vises.

Screenshot highlighting the Data view icon.

Når du velger to tabeller og importerer tabeller i datavisning , viser de bufrede data. DirectQuery-tabeller viser ikke data, og det vises en melding som sier at DirectQuery-tabeller ikke kan vises.

Hensyn og begrensninger

Det finnes noen begrensninger for den gjeldende versjonen av lagringsmodus og korrelasjonen med sammensatte modeller.

Følgende live-tilkoblingskilder (flerdimensjonale) kan ikke brukes med sammensatte modeller:

  • SAP HANA
  • SAP Business Warehouse

Når du kobler til de 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 bruk av DirectQuery gjelder fortsatt når du bruker sammensatte modeller. Mange av disse begrensningene er 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 er fortsatt begrenset til bare å referere til kolonner i samme tabell. Andre begrensninger gjelder for modellen som helhet, hvis noen av tabellene i modellen er DirectQuery.

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