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.

  • Writeback: 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: Lar 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 lagringsmodus egenskap eller viser gjeldende innstilling:

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

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

    Skjermbilde av Relasjonsvisning uthever rullegardinlisten for alternativet for å endre lagringsmodus.

Du angir lagringsmodus egenskap til én av disse tre verdiene:

  • Importer: 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 i en tabell for å importere er en irreversibel operasjon. Når denne egenskapen er angitt, kan den ikke senere endres til DirectQuery- eller Dobbel.

Notat

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

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.

Skjermbilde av eksemplet Relasjonsvisning for lagringsmodus.

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

Skjermbilde som viser et advarselsvindu som beskriver resultatene av å endre lagringsmodusen til Importer.

Du kan angi dimensjonstabellene (Customer, Geographyog Date) 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:

Bord Lagringsmodus
Salg DirectQuery
SurveyResponse Importere
Daddel Dobbel
Kunde Dobbel
Geografi Dobbel

Hvis du angir disse egenskapene for lagringsmodus, får du følgende virkemåte, forutsatt at tabellen Sales har betydelig datavolum:

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

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

    • Dataoppdateringstidene forbedres, og minneforbruket reduseres.
    • Rapportspørringer som er basert på Sales-tabellen, kjøres 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 start hendelse for spørring. 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 Date-tabellen, som er i dobbel-modus. Derfor bør spørringen treffe hurtigbufferen:

Skjermbilde som viser teksten i spørringen som refererer til Dato-tabellen.

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

Skjermbilde som viser teksten i spørringen som refererer til Salg-tabellen.

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 verdier fra kilden og deretter kombinere 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:

Skjermbilde som viser teksten i spørringen som refererer til både Dato-tabellen og Salg-tabellen.

Notat

Denne virkemåten er forskjellig fra mange-til-mange-relasjoner i Power BI Desktop når bufrede 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.

Lagringsmodusen Dobbel 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 virkemåte, kan du vurdere å bruke teknikkene som er beskrevet i Mange-til-mange-relasjoner i Power BI Desktop.

Tabellvisning

Hvis minst én tabell i semantisk modell har sin lagringsmodus satt til enten Importer eller Dobbel, vises fanen tabell visning.

Skjermbilde som uthever tabellvisningsikonet.

Når du velger to tabeller og importerer tabeller i tabellvisning, 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: