Administrer lagringsmodus i Power BI DesktopManage storage mode in Power BI Desktop

Du kan angi lagringsmodusen til tabeller i Microsoft Power BI Desktop.In Microsoft Power BI Desktop, you can specify the storage mode of a table. Lagringsmodusen styrer om Power BI Desktop skal bufre tabelldata i minnet for rapporter.The storage mode lets you control whether Power BI Desktop caches table data in-memory for reports.

Det er mange fordeler med å angi lagringsmodus.Setting the storage mode provides many advantages. Du kan angi lagringsmodusen for hver tabell enkeltvis i modellen.You can set the storage mode for each table individually in your model. Denne handlingen aktiverer ett enkelt datasett, som har følgende fordeler:This action enables a single dataset, which provides the following benefits:

  • Spørringsytelse: Mens brukerne samhandler med visualobjekter i Power BI-rapporter, sendes DAX-spørringer (Data Analysis Expressions) til datasettet.Query performance: As users interact with visuals in Power BI reports, Data Analysis Expressions (DAX) queries are submitted to the dataset. Bufring av data i minnet ved å angi lagringsmodus riktig, kan øke spørringsytelsen og gjøre rapportene mer interaktive.Caching data into memory by properly setting the storage mode can boost the query performance and interactivity of your reports.

  • Store datasett: Tabeller som ikke bufres, forbruker ikke minne for hurtigbufringsformål.Large datasets: Tables that aren't cached don't consume memory for caching purposes. Du kan aktivere interaktive analyser over store datasett som er for store eller dyre til å bufre fullstendig i minnet.You can enable interactive analysis over large datasets that are too large or expensive to completely cache into memory. Du kan velge hvilke tabeller du bør og ikke bør bufre.You can choose which tables are worth caching, and which aren't.

  • Optimalisering av dataoppdatering: Tabeller som ikke bufres, må ikke oppdateres.Data refresh optimization: You don't need to refresh tables that aren't cached. Du kan redusere oppdateringstidspunktene ved bare å bufre dataene som er nødvendige for å oppfylle tjenestenivåavtalene og forretningsmessige krav.You can reduce refresh times by caching only the data that's necessary to meet your service level agreements and your business requirements.

  • Krav om tilnærmet sanntid: Tabeller med krav om tilnærmet sanntid bør helst ikke bufres, for å redusere dataventetid.Near-real time requirements: Tables with near-real time requirements might benefit from not being cached, to reduce data latency.

  • Tilbakeskriving: Med tilbakeskriving kan forretningsbrukere utforske hva-skjer-hvis-scenarioer ved å endre celleverdier.Writeback: Writeback enables business users to explore what-if scenarios by changing cell values. Egendefinerte programmer kan ta i bruk endringer til datakilden.Custom applications can apply changes to the data source. Tabeller som ikke bufres kan vise endringer umiddelbart, noe som tillater en umiddelbar analyse av effektene.Tables that aren't cached can display changes immediately, which allows instant analysis of the effects.

Lagringsmodusinnstillingen i Power BI Desktop er én av tre relaterte funksjoner:The storage mode setting in Power BI Desktop is one of three related features:

  • Sammensatte modeller: Tillater at en rapport kan ha to eller flere datatilkoblinger, inkludert DirectQuery-tilkoblinger eller import, i en hvilken som helst kombinasjon.Composite models: Allows a report to have two or more data connections, including DirectQuery connections or Import, in any combination. Du finner mer informasjon i Bruk sammensatte modeller i Power BI Desktop.For more information, see Use composite models in Power BI Desktop.

  • Mange-til-mange-relasjoner: Med sammensatte modeller kan du etablere mange-til-mange-relasjoner mellom tabeller.Many-to-many relationships: With composite models, you can establish many-to-many relationships between tables. I mange-til-mange-relasjoner fjernes kravet om unike verdier i tabeller.In a many-to-many relationship, requirements are removed for unique values in tables. De fjerner også tidligere midlertidige løsninger, for eksempel å introdusere bare nye tabeller for å opprette relasjoner.It also removes prior workarounds, such as introducing new tables only to establish relationships. Hvis du vil ha mer informasjon, kan du se Mange-til-mange-relasjoner i Power BI Desktop.For more information, see Many-to-many relationships in Power BI Desktop.

  • Lagringsmodus: Med lagringsmodus kan du nå angi hvilke visualobjekter som krever en spørring til datakilder på serverdelen.Storage mode: With storage mode, you can now specify which visuals require a query to back-end data sources. Visualobjekter som ikke krever en spørring, importeres selv om de er basert på DirectQuery.Visuals that don't require a query are imported even if they're based on DirectQuery. Denne funksjonen bidrar til å forbedre ytelsen og redusere belastningen på serverdelen.This feature helps improve performance and reduce back-end load. Tidligere innledet til og med enkle visualobjekter, som for eksempel slicere, at spørringer ble sendt til serverdelkilder.Previously, even simple visuals, such as slicers, initiated queries that were sent to back-end sources.

Bruk egenskapen «Lagringsmodus»Use the Storage mode property

Lagringsmodusen er en egenskap du kan angi for hver tabell i modellen, som styrer hvordan Power BI bufrer dataene i tabellen.The Storage mode property is a property that you can set on each table in your model and controls how Power BI caches the table data.

For å angi lagringsmodus-egenskapen, eller for å vise gjeldende innstilling:To set the Storage mode property, or view its current setting:

  1. Velg tabellen du vil vise eller angi egenskapene på i modell-visningen.in Model view, select the table whose properties you want to view or set.

  2. I ruten Egenskaper utvider du delen Avansert, og deretter rullegardinlisten Lagringmodus.In the Properties pane, expand the Advanced section, and expand the Storage mode drop-down.

    Velg egenskapen «Lagringsmodus»

Du setter her egenskapen Lagringsmodus til én av følgende tre verdier:You set the Storage mode property to one of these three values:

  • Import: Importerte tabeller med denne innstillingen bufres.Import: Imported tables with this setting are cached. Spørringer som sendes til Power BI-datasettet som returnerer data fra importtabeller, kan bare fullføres fra bufrede data.Queries submitted to the Power BI dataset that return data from Import tables can be fulfilled only from cached data.

  • DirectQuery: Importerte tabeller med denne innstillingen bufres ikke.DirectQuery: Tables with this setting aren't cached. Spørringer du sender til Power BI-datasettet, —for eksempel DAX-spørringer,—og som returnerer data fra DirectQuery-tabeller, fullføres bare ved å kjøre behovsbetingede spørringer til datakilden.Queries that you submit to the Power BI dataset—for example, DAX queries—and that return data from DirectQuery tables can be fulfilled only by executing on-demand queries to the data source. Spørringer du sender til datakilden bruker spørringsspråket for datakilden, for eksempel SQL.Queries that you submit to the data source use the query language for that data source, for example, 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.Dual: Tables with this setting can act as either cached or not cached, depending on the context of the query that's submitted to the Power BI dataset. I noen tilfeller fullfører du spørringer fra bufrede data.In some cases, you fulfill queries from cached data. I andre tilfeller fullfører du spørringer ved å kjøre en behovsbetinget spørring til datakilden.In other cases, you fulfill queries by executing an on-demand query to the data source.

Hvis du endrer Lagringsmodusen på en tabell til Import, blir dette en permanent endring.Changing the Storage mode of a table to Import is an irreversible operation. Når den er angitt, kan ikke egenskapen endres tilbake til DirectQuery eller Dobbel på et senere tidspunkt.Once set, this property can't later be changed to either DirectQuery or Dual.

Obs!

Du kan bruke Dobbel lagringsmodus både i Power BI Desktop og i Power BI-tjenesten.You can use Dual storage mode in both Power BI Desktop and the Power BI service.

Begrensninger for DirectQuery-tabeller og doble tabellerConstraints on DirectQuery and Dual tables

Dobbelttabeller er underlagt de samme funksjonsbegrensningene som DirectQuery-tabeller.Dual tables have the same functional constraints as DirectQuery tables. Dette inkluderer begrensede M-transformasjoner og begrensede DAX-funksjoner i beregnede kolonner.These constraints include limited M transformations and restricted DAX functions in calculated columns. Hvis du vil ha mer informasjon, kan du se Implikasjoner ved bruk av DirectQuery.For more information, see Implications of using DirectQuery.

Overføring av Dobbel-innstillingenPropagation of the Dual setting

Se på følgende enkle modell hvor alle tabellene kommer fra en enkelt kilde som støtter Import og DirectQuery.Consider the following simple model, where all the tables are from a single source that supports Import and DirectQuery.

Eksempel på relasjonsvisning for lagringsmodus

La oss si at alle tabeller i denne modellen er satt til DirectQuery til å begynne med.Let’s say all tables in this model are initially set to DirectQuery. Hvis du deretter endrer Lagringsmodus for SurveyResponse-tabellen til Import, vises følgende vindu med advarsel:If you then change the Storage mode of the SurveyResponse table to Import, the following warning window is displayed:

Vindu med lagringsmodusadvarsel

Du kan angi dimensjonstabellene (Kunde, Geografi og Dato) til Dobbel for å redusere antallet begrensede relasjoner i datasettet og forbedre ytelsen.You can set the dimension tables (Customer, Geography, and Date) to Dual to reduce the number of limited relationships in the dataset, and improve performance. Begrensede relasjoner involverer vanligvis minst én tabell for DirectQuery der sammenføyningslogikken ikke kan sendes til kildesystemene.Limited relationships normally involve at least one DirectQuery table where join logic can't be pushed to the source systems. Ettersom doble tabeller kan fungere både som DirectQuery- og Import-tabeller, unngås denne situasjonen.Because Dual tables can act as either DirectQuery or Import tables, this situation is avoided.

Overføringslogikken er laget for å hjelpe med modeller som inneholder mange tabeller.The propagation logic is designed to help with models that contain many tables. La oss si at du har en modell med 50 tabeller, og bare bestemte tabeller (transaksjonsbaserte) må bufres.Suppose you have a model with 50 tables and only certain fact (transactional) tables need to be cached. Logikken i Power BI Desktop beregner minimumsettet med dimensjonstabeller som må være angitt til Dobbel, slik at du slipper å gjøre det.The logic in Power BI Desktop calculates the minimum set of dimension tables that must be set to Dual, so you don’t have to.

Overføringslogikken passerer bare til den ene siden av én-til-mange-relasjoner.The propagation logic traverses only to the one side of one-to-many relationships.

Eksempel på bruk av lagringsmodusStorage mode usage example

La oss fortsette med eksemplet fra forrige avsnitt, og tenk deg at vi bruker følgende innstillinger for egenskapen lagringsmodus:Let's continue with the example from the previous section, and imagine applying the following storage mode property settings:

TabellTable LagringsmodusStorage mode
SalgSales DirectQueryDirectQuery
SurveyResponseSurveyResponse ImporterImport
DatoDate DobbelDual
KundeCustomer DobbelDual
GeografiGeography DobbelDual

Følgende virkemåter blir resultatet av å angi disse egenskapene for lagringsmodus, med antagelse om at Salg-tabellen har et betydelig datavolum:Setting these storage mode properties results in the following behaviors, assuming that the Sales table has significant data volume:

  • 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 caches dimension tables, Date, Customer, and Geography, so load times of initial reports are fast when they retrieve slicer values to display.

  • Power BI Desktop bufrer ikke Salg-tabellen.Power BI Desktop doesn't cache the Sales table. Hvis du angir at denne tabellen ikke skal bufres, vises følgende resultater i Power BI Desktop:By not caching this table, Power BI Desktop provides the following results:

    • Dataoppdateringen blir raskere og minneforbruket reduseres.Data-refresh times are improved, and memory consumption is reduced.
    • Rapportspørringer som er basert på Salg-tabellen, kjører i DirectQuery-modus.Report queries that are based on the Sales table run in DirectQuery mode. Disse spørringene kan ta lengre tid, men er nærmere sanntid, fordi det ikke finnes noen bufringsventetid.These queries might take longer but are closer to real time because no caching latency is introduced.
  • Rapportspørringer som er basert på SurveyResponse-tabellen, returneres fra hurtigbufferen i minnet, og er derfor relativt raske å hente.Report queries that are based on the SurveyResponse table are returned from the in-memory cache, and are therefore relatively fast.

Spørringer som treffer eller misser hurtigbufferenQueries that hit or miss the cache

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:If you connect SQL Profiler to the diagnostics port for Power BI Desktop, you can see which queries hit or miss the in-memory cache by performing a trace that's based on the following events:

  • Spør i hendelser \ Spørringen begynnerQueries Events\Query Begin
  • Spørringen behandles \ Vertipaq SE-spørringen begynnerQuery Processing\Vertipaq SE Query Begin
  • Spørringen behandles \ DirectQuery-spørringen begynnerQuery Processing\DirectQuery Begin

Når det gjelder hver Spørringen begynner-hendelse, kontrollerer du andre hendelser med samme ActivityID.For each Query Begin event, check other events with the same ActivityID. Hvis det for eksempel ikke finnes noen DirectQuery begynner-hendelse, men hendelsen Vertipaq SE-spørringen begynner finnes, besvares spørringen fra hurtigbufferen.For example, if there isn't a DirectQuery Begin event, but there's a Vertipaq SE Query Begin event, the query is answered from the cache.

Spørringer som refererer til Dobbel-tabeller returnerer data fra hurtigbufferen hvis mulig, ellers går de tilbake til DirectQuery.Queries that refer to Dual tables return data from the cache, if possible; otherwise, they revert to 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.Continuing the previous example, the following query refers only to a column from the Date table, which is in Dual mode. Derfor bør spørringen treffe hurtigbufferen:Therefore, the query should hit the cache:

Skjermbilde viser tekst i en spørring som refererer til Dato-tabellen.

Den følgende spørringen refererer bare til en kolonne fra Salg-tabellen som er i DirectQuery-modus.The following query refers only to a column from the Sales table, which is in DirectQuery mode. Den skal derfor ikke treffe hurtigbufferen:Therefore, it should not hit the cache:

Skjermbilde viser tekst i en spørring som refererer til Salg-tabellen.

Den følgende spørringen er interessant fordi den kombinerer begge kolonnene.The following query is interesting because it combines both columns. Denne spørringen treffer ikke hurtigbufferen.This query doesn't hit the cache. 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.You might initially expect it to retrieve CalendarYear values from the cache and SalesAmount values from the source and then combine the results, but this approach is less efficient than submitting the SUM/GROUP BY operation to the source system. Hvis operasjonen sendes ned til kilden, blir antallet rader som returneres langt færre:If the operation is pushed down to the source, the number of rows returned will likely be far less:

Skjermbilde viser tekst i en spørring som refererer til både Dato- og Salg-tabellen.

Obs!

Denne virkemåten er annerledes enn mange-til-mange-relasjoner i Power BI Desktop når bufrede og ikke-bufrede tabeller kombineres.This behavior is different from many-to-many relationships in Power BI Desktop when cached and non-cached tables are combined.

Hurtigbuffere bør være synkronisertCaches should be kept in sync

Spørringene som ble vist i den forrige inndelingen, viste at Dobbel-tabeller noen ganger treffer hurtigbufferen, og andre ganger ikke.The queries displayed in the previous section show that Dual tables sometimes hit the cache and sometimes don't. Hvis hurtigbufferen er utdatert, kan dette resultere i at ulike verdier returneres.As a result, if the cache is out of date, different values can be returned. Spørringskjøring vil ikke forsøke å skjule dataproblemer ved for eksempel å filtrere DirectQuery-resultater for å samsvare med bufrede verdier.Query execution won't attempt to mask data issues by, for example, filtering DirectQuery results to match cached values. Det er ditt ansvar å kjenne din egen dataflyt, og du bør utforme i henhold til dette.It's your responsibility to know your data flows, and you should design accordingly. Det finnes etablerte teknikker for å håndtere slike tilfeller ved kilden, ved behov.There are established techniques to handle such cases at the source, if necessary.

Lagringsmodusen Dobbel optimerer ytelsen.The Dual storage mode is a performance optimization. Den bør brukes bare i situasjoner som ikke kompromitterer evnen til å oppfylle forretningsmessige krav.It should be used only in ways that don't compromise the ability to meet business requirements. Hvis du vil bruke alternative virkemåter, kan du vurdere å bruke teknikkene som beskrives i Mange-til-mange-relasjoner i Power BI Desktop.For alternative behavior, consider using the techniques described in the Many-to-many relationships in Power BI Desktop.

DatavisningData view

Hvis minst én tabell i datasettet har lagringsmodusen angitt til enten Import eller Dobbel, vises Datavisning-fanen.If at least one table in the dataset has its storage mode set to either Import or Dual, the Data view tab is displayable.

Datavisning i Power BI Desktop

Når du velger tabeller i Dobbel- og Import-modus i Datavisning-fanen, viser dem bufrede data.When you select Dual and Import tables in Data view, they show cached data. DirectQuery-tabeller viser ingen data, og du vil se en melding som forklarer at DirectQuery-tabeller ikke kan vises.DirectQuery tables don't show data, and a message is displayed that states that DirectQuery tables can't be shown.

Begrensninger og viktige hensynLimitations and considerations

Det er et par begrensninger med denne utgivelsen av lagringsmodus og korrelasjonen med sammensatte modeller.There are a few limitations for this release of storage mode and its correlation with composite models.

De følgende Live Connect (flerdimensjonale)-kildene kan ikke brukes med sammensatte modeller:The following live connection (multi-dimensional) sources can't be used with composite models:

  • SAP HANASAP HANA
  • SAP Business WarehouseSAP Business Warehouse
  • SQL Server Analysis ServicesSQL Server Analysis Services
  • Power BI-datasettPower BI datasets
  • Azure Analysis ServicesAzure 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.When you connect to those multi-dimensional sources by using DirectQuery, you can't connect to another DirectQuery source or combine it with imported data.

De eksisterende begrensningene ved å bruke DirectQuery gjelder fortsatt når du bruker sammensatte modeller.The existing limitations of using DirectQuery still apply when you use composite models. Mange av disse begrensningene gjelder nå per tabell, avhengig av lagringsmodusen til tabellen.Many of those limitations are now per table, depending upon the storage mode of the table. 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.For example, a calculated column on an imported table can refer to other tables, but a calculated column on a DirectQuery table is still restricted to refer only to columns on the same table. Andre begrensninger gjelder for modellen som en helhet, hvis noen av tabellene i modellen er av typen DirectQuery.Other limitations apply to the model as a whole, if any of the tables within the model are DirectQuery. Funksjonene QuickInsights og Spørsmål og svar er for eksempel ikke tilgjengelige på en modell hvis noen av tabellene har en lagringsmodus av typen DirectQuery.For example, the QuickInsights and Q&A features aren't available on a model if any of the tables within it has a storage mode of DirectQuery.

Neste trinnNext steps

Hvis du vil ha mer informasjon om sammensatte modeller og DirectQuery, kan du se følgende artikler:For more information about composite models and DirectQuery, see the following articles: