Verwalten des Speichermodus in Power BI DesktopManage storage mode in Power BI Desktop

In Power BI Desktop können Sie den Speichermodus von Tabellen festlegen.In Microsoft Power BI Desktop, you can specify the storage mode of a table. Mit dem Speichermodus können Sie steuern, ob Power BI Desktop Tabellendaten im Arbeitsspeicher für Berichte zwischenspeichert.The storage mode lets you control whether Power BI Desktop caches table data in-memory for reports.

Das Festlegen des Speichermodus bietet viele Vorteile.Setting the storage mode provides many advantages. Sie können den Speichermodus für jede Tabelle in Ihrem Modell einzeln festlegen.You can set the storage mode for each table individually in your model. Durch diese Aktion entsteht ein einzelnes Dataset, das folgende Vorteile bietet:This action enables a single dataset, which provides the following benefits:

  • Abfrageleistung: Bei der Interaktion der Benutzer mit Visuals in Power BI-Berichten werden DAX-Abfragen (Data Analysis Expressions) an das Dataset gesendet.Query performance: As users interact with visuals in Power BI reports, Data Analysis Expressions (DAX) queries are submitted to the dataset. Durch die Zwischenspeicherung von Daten im Speicher (mit ordnungsgemäßer Angabe des Speichermodus) können die Abfrageleistung und die Interaktivität Ihrer Berichte erhöht werden.Caching data into memory by properly setting the storage mode can boost the query performance and interactivity of your reports.

  • Große Datasets: Tabellen, die nicht zwischengespeichert werden, belegen keinen Speicher für die Zwischenspeicherung.Large datasets: Tables that aren't cached don't consume memory for caching purposes. Sie können interaktive Analysen für große Datasets aktivieren, bei denen eine vollständige Zwischenspeicherung im Speicher zu umfangreich oder zu kostspielig wäre.You can enable interactive analysis over large datasets that are too large or expensive to completely cache into memory. Sie können die Tabellen auswählen, bei denen eine Zwischenspeicherung sinnvoll ist, und solche, bei denen dies nicht der Fall ist.You can choose which tables are worth caching, and which aren't.

  • Optimierung der Datenaktualisierung: Tabellen, die nicht zwischengespeichert werden, müssen nicht aktualisiert werden.Data refresh optimization: You don't need to refresh tables that aren't cached. Sie können die Aktualisierungszeiten verkürzen, indem Sie nur die Zwischenspeicherung der Daten veranlassen, die erforderlich sind, um Ihre Vereinbarungen zum Servicelevel und Ihre geschäftlichen Anforderungen zu erfüllen.You can reduce refresh times by caching only the data that's necessary to meet your service level agreements and your business requirements.

  • Anforderungen hinsichtlich einer Ausführung nahezu in Echtzeit: Bei Tabellen, die nahezu in Echtzeit ausführbar sein sollen, ist ein Verzicht auf eine Zwischenspeicherung möglicherweise sinnvoll, um Datenlatenzen zu verringern.Near-real time requirements: Tables with near-real time requirements might benefit from not being cached, to reduce data latency.

  • Rückschreiben: Durch das Rückschreiben können Geschäftsbenutzer mögliche Szenarios durch die Änderung von Zellenwerten untersuchen.Writeback: Writeback enables business users to explore what-if scenarios by changing cell values. Benutzerdefinierte Anwendungen können Änderungen an der Datenquelle anwenden.Custom applications can apply changes to the data source. Tabellen, die nicht zwischengespeichert, können Änderungen sofort darstellen, wodurch eine sofortige Analyse der Auswirkungen möglich ist.Tables that aren't cached can display changes immediately, which allows instant analysis of the effects.

Die Einstellung „Speichermodus“ in Power BI Desktop ist eines von drei in Beziehung stehenden Features:The storage mode setting in Power BI Desktop is one of three related features:

  • Zusammengesetzte Modelle: Hierbei kann ein Bericht mindestens zwei Datenverbindungen beinhalten, einschließlich DirectQuery- oder Importverbindungen in beliebiger Kombination.Composite models: Allows a report to have two or more data connections, including DirectQuery connections or Import, in any combination. Weitere Informationen finden Sie unter Verwenden zusammengesetzter Modelle in Power BI Desktop.For more information, see Use composite models in Power BI Desktop.

  • m:n-Beziehungen: Mithilfe zusammengesetzter Modelle können Sie m:n-Beziehungen zwischen Tabellen einrichten.Many-to-many relationships: With composite models, you can establish many-to-many relationships between tables. Durch m:n-Beziehungen entfallen die Anforderungen für eindeutige Werte in Tabellen.In a many-to-many relationship, requirements are removed for unique values in tables. Zudem sind vorherige Problemumgehungen hinfällig, wie z.B. die Einführung neuer Tabellen zum Einrichten von Beziehungen.It also removes prior workarounds, such as introducing new tables only to establish relationships. Weitere Informationen finden Sie unter Beziehungen mit einer m:n-Kardinalität in Power BI Desktop.For more information, see Many-to-many relationships in Power BI Desktop.

  • Speichermodus: Sie können nun angeben, welche Visuals eine Abfrage in Back-End-Datenquellen erfordern.Storage mode: With storage mode, you can now specify which visuals require a query to back-end data sources. Visuals, für die keine Abfrage nötig ist, werden importiert, auch wenn diese auf DirectQuery basieren.Visuals that don't require a query are imported even if they're based on DirectQuery. Mit diesem Feature kann die Leistung verbessert und die Auslastung des Back-Ends verringert werden.This feature helps improve performance and reduce back-end load. Zuvor initiierten sogar einfache Visuals wie Slicer Abfragen, die an Back-End-Quellen gesendet wurden.Previously, even simple visuals, such as slicers, initiated queries that were sent to back-end sources.

Verwenden der SpeichermoduseigenschaftUse the Storage mode property

Die Speichermoduseigenschaft ist eine Eigenschaft, die Sie für jede Tabelle in Ihrem Modell festlegen können, und sie steuert, wie Tabellendaten in Power BI zwischengespeichert werden.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.

So legen Sie die Speichermoduseigenschaft fest oder zeigen die aktuelle Einstellung an:To set the Storage mode property, or view its current setting:

  1. Wählen Sie in der Modellansicht die Tabelle aus, deren Eigenschafen Sie anzeigen oder festlegen möchten.in Model view, select the table whose properties you want to view or set.

  2. Erweitern Sie im Bereich Eigenschaften den Abschnitt Erweitert, und klappen Sie dann das Dropdown Speichermodus auf.In the Properties pane, expand the Advanced section, and expand the Storage mode drop-down.

    Auswählen der Speichermoduseigenschaft

Sie können für die Speichermoduseigenschaft einen der folgenden drei Werte festlegen:You set the Storage mode property to one of these three values:

  • Import: Importierte Tabellen mit dieser Einstellung werden zwischengespeichert.Import: Imported tables with this setting are cached. Abfragen, die an das Power BI-Dataset gesendet werden, die Daten aus Import-Tabellen zurückgeben, können nur von zwischengespeicherten Daten ausgeführt werden.Queries submitted to the Power BI dataset that return data from Import tables can be fulfilled only from cached data.

  • DirectQuery: Tabellen mit dieser Einstellung werden nicht zwischengespeichert.DirectQuery: Tables with this setting aren't cached. Abfragen, die Sie an das Power BI-Dataset senden (z. B. DAX-Abfragen) und die Daten von DirectQuery-Tabellen zurückgeben, können nur durch Ausführung von bedarfsgesteuerten Abfragen an die Datenquelle ausgeführt werden.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. Abfragen, die Sie an die Datenquelle senden, verwenden die Abfragesprache dieser Datenquelle (z. B. SQL).Queries that you submit to the data source use the query language for that data source, for example, SQL.

  • Dual: Tabellen mit dieser Einstellung können entweder zwischengespeichert oder nicht zwischengespeichert werden, abhängig vom Kontext der an das Power BI-Dataset gesendeten Abfrage.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. In einigen Fällen werden Abfragen über zwischengespeicherte Daten ausgeführt.In some cases, you fulfill queries from cached data. In anderen Fällen werden Abfragen durch das Ausführen einer bedarfsgesteuerten Abfrage an die Datenquelle ausgeführt.In other cases, you fulfill queries by executing an on-demand query to the data source.

Das Ändern des Speichermodus einer Tabelle in Import kann nicht rückgängig gemacht werden.Changing the Storage mode of a table to Import is an irreversible operation. Sobald die Eigenschaft festgelegt wurde, kann sie später nicht mehr in DirectQuery oder Dual zurück geändert werden.Once set, this property can't later be changed to either DirectQuery or Dual.

Hinweis

Sie können den Speichermodus Dual sowohl in Power BI Desktop als auch im Power BI-Dienst verwenden.You can use Dual storage mode in both Power BI Desktop and the Power BI service.

Einschränkungen für DirectQuery- und Dual-TabellenConstraints on DirectQuery and Dual tables

Für Dual-Tabellen gelten dieselben funktionellen Einschränkungen wie für DirectQuery-Tabellen.Dual tables have the same functional constraints as DirectQuery tables. Zu diesen Einschränkungen zählen beschränkte M-Transformationen und eingeschränkte DAX-Funktionen in berechneten Spalten.These constraints include limited M transformations and restricted DAX functions in calculated columns. Weitere Informationen finden Sie unter Auswirkungen der Verwendung von DirectQuery.For more information, see Implications of using DirectQuery.

Weitergabe der Dual-EinstellungPropagation of the Dual setting

Sehen Sie sich das folgende einfache Modell an, bei dem alle Tabellen von einer einzelnen Quelle stammen, die Import und DirectQuery unterstützt.Consider the following simple model, where all the tables are from a single source that supports Import and DirectQuery.

Beispielbeziehungsansicht für den Speichermodus

Angenommen, alle Tabellen in diesem Modell wurden ursprünglich auf DirectQuery festgelegt.Let’s say all tables in this model are initially set to DirectQuery. Wenn der Speichermodus der SurveyResponse-Tabelle dann in Import geändert wird, wird folgendes Warnungsfenster angezeigt:If you then change the Storage mode of the SurveyResponse table to Import, the following warning window is displayed:

Warnungsfenster des Speichermodus

Die Dimensionstabellen (Customer, Geography und Date) können auf Dual festgelegt werden, um die Anzahl beschränkter Beziehungen im Dataset zu verringern und die Leistung zu verbessern.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. Beschränkte Beziehungen enthalten normalerweise mindestens eine DirectQuery-Tabelle, bei der die Verknüpfungslogik nicht per Push an die Quellsysteme übertragen werden kann.Limited relationships normally involve at least one DirectQuery table where join logic can't be pushed to the source systems. Da Dual-Tabellen entweder als DirectQuery- oder als Import-Tabellen fungieren können, wird diese Situation vermieden.Because Dual tables can act as either DirectQuery or Import tables, this situation is avoided.

Die Weitergabelogik ist dafür konzipiert, Modelle mit vielen Tabellen zu unterstützen.The propagation logic is designed to help with models that contain many tables. Stellen Sie sich vor, Sie haben ein Modell mit 50 Tabellen, und nur bestimmte (transaktionale) Faktentabellen müssen zwischengespeichert werden.Suppose you have a model with 50 tables and only certain fact (transactional) tables need to be cached. Die Logik in Power BI Desktop berechnet die minimale Gruppe von Dimensionstabellen, die auf Dual festgelegt werden müssen. Diese Aufgabe müssen Sie also nicht selbst erledigen.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.

Die Weitergabelogik durchläuft nur eine Seite der 1:n-Beziehungen.The propagation logic traverses only to the one side of one-to-many relationships.

Beispiel für die Verwendung des SpeichermodusStorage mode usage example

Lassen Sie uns mit dem Beispiel aus dem vorherigen Abschnitt fortfahren, und stellen Sie sich vor, die folgenden Eigenschafteneinstellungen für den Speichermodus würden angewendet werden:Let's continue with the example from the previous section, and imagine applying the following storage mode property settings:

TabelleTable SpeichermodusStorage mode
VertriebSales DirectQueryDirectQuery
SurveyResponseSurveyResponse ImportierenImport
DatumDate DualDual
KundeCustomer DualDual
GeografieGeography DualDual

Das Festlegen dieser Eigenschaften für den Speichermodus führt zu folgenden Verhaltensweisen, sofern die Tabelle Sales ein erhebliches Datenvolumen aufweist:Setting these storage mode properties results in the following behaviors, assuming that the Sales table has significant data volume:

  • Power BI Desktop speichert Dimensionstabellen (Date, Customer und Geography) zwischen, sodass die anfänglichen Berichte beim Abrufen der anzuzeigenden Slicerwerte schnell geladen werden sollten.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.

  • Die Sales-Tabelle wird in Power BI Desktop nicht zwischengespeichert.Power BI Desktop doesn't cache the Sales table. Indem die Tabelle Sales nicht zwischengespeichert wird, liefert Power BI Desktop folgende Ergebnisse:By not caching this table, Power BI Desktop provides the following results:

    • Die Datenaktualisierungszeiten werden verbessert, und die Speichernutzung wird reduziert.Data-refresh times are improved, and memory consumption is reduced.
    • Berichtsabfragen, die auf der Tabelle Sales basieren, werden im DirectQuery-Modus ausgeführt.Report queries that are based on the Sales table run in DirectQuery mode. Diese Abfragen dauern länger, werden jedoch nahezu in Echtzeit ausgeführt, da keine Latenz durch das Zwischenspeichern entsteht.These queries might take longer but are closer to real time because no caching latency is introduced.
  • Berichtsabfragen, die auf der Tabelle SurveyResponse basieren, werden vom In-Memory-Cache zurückgegeben und sollten daher relativ schnell ausgeführt werden.Report queries that are based on the SurveyResponse table are returned from the in-memory cache, and are therefore relatively fast.

Abfragen, die vom Cache ausgeführt oder nicht vom Cache ausgeführt werdenQueries that hit or miss the cache

Indem Sie eine Verbindung zwischen dem SQL Profiler und dem Diagnoseport für Power BI Desktop herstellen, können Sie durch Ausführung einer Ablaufverfolgung anhand der folgenden Ereignisse sehen, welche Abfragen vom In-Memory-Cache ausgeführt werden und welche nicht: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:

  • Queries Events\Query BeginQueries Events\Query Begin
  • Query Processing\Vertipaq SE Query BeginQuery Processing\Vertipaq SE Query Begin
  • Query Processing\DirectQuery BeginQuery Processing\DirectQuery Begin

Überprüfen Sie für jedes Query Begin-Ereignis die anderen Ereignisse mit der gleichen ActivityID.For each Query Begin event, check other events with the same ActivityID. Wenn es beispielsweise kein DirectQuery – Anfang-Ereignis, aber ein Vertipaq SE Query Begin-Ereignis gibt, wurde die Abfrage vom Cache beantwortet.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.

Abfragen, die auf Tabellen im Dual-Modus verweisen, geben wenn möglich Daten aus dem Cache zurück. Andernfalls werden sie auf DirectQuery zurückgesetzt.Queries that refer to Dual tables return data from the cache, if possible; otherwise, they revert to DirectQuery.

Im Anschluss an das vorherige Beispiel verweist die folgende Abfrage nur auf eine Spalte aus der Tabelle Date, die sich im Dual-Modus befindet.Continuing the previous example, the following query refers only to a column from the Date table, which is in Dual mode. Aus diesem Grund sollte die Abfrage vom Cache ausgeführt werden:Therefore, the query should hit the cache:

Screenshot: Text der Abfrage, die sich auf die Date-Tabelle bezieht

Die folgende Abfrage verweist nur auf eine Spalte aus der Tabelle Sales, die sich im DirectQuery-Modus befindet.The following query refers only to a column from the Sales table, which is in DirectQuery mode. Aus diesem Grund sollte diese nicht vom Cache ausgeführt werden:Therefore, it should not hit the cache:

Screenshot: Text der Abfrage, die sich auf die Sales-Tabelle bezieht

Die folgende Abfrage ist interessant, da sie beide Spalten kombiniert.The following query is interesting because it combines both columns. Diese Abfrage wird nicht vom Cache ausgeführt.This query doesn't hit the cache. Möglicherweise erwarten Sie zunächst, dass CalendarYear-Werte vom Cache und SalesAmount-Werte von der Quelle abgerufen die Ergebnisse anschließend kombiniert werden, dies wäre jedoch weniger effizient als den SUM/GROUP BY-Vorgang an das Quellsystem zu übermitteln.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. Wenn der Vorgang an die Quelle weitergegeben wird, fällt die Anzahl der zurückgegebenen Zeilen wahrscheinlich weitaus geringer aus:If the operation is pushed down to the source, the number of rows returned will likely be far less:

Screenshot: Text der Abfrage, die sich sowohl auf die Date-Tabelle als auch auf die Sales-Tabelle bezieht

Hinweis

Dieses Verhalten unterscheidet sich von m:n-Beziehungen in Power BI Desktop, wenn zwischengespeicherte und nicht zwischengespeicherte Tabellen kombiniert werden.This behavior is different from many-to-many relationships in Power BI Desktop when cached and non-cached tables are combined.

Bedeutung der Synchronisierung von CachesCaches should be kept in sync

Die im vorherigen Abschnitt angezeigten Abfragen verdeutlichen, dass Dual-Tabellen manchmal vom Cache ausgeführt werden und manchmal nicht.The queries displayed in the previous section show that Dual tables sometimes hit the cache and sometimes don't. Wenn der Cache veraltet ist, können deshalb unterschiedliche Werte zurückgegeben werden.As a result, if the cache is out of date, different values can be returned. Bei der Abfrageausführung wird nicht versucht, Datenprobleme, zu maskieren, indem z.B. DirectQuery-Ergebnisse entsprechend den zwischengespeicherten Werten gefiltert werden.Query execution won't attempt to mask data issues by, for example, filtering DirectQuery results to match cached values. Sie müssen bestens mit Ihren Datenflüssen vertraut sein und den Entwurf entsprechend darauf ausrichten.It's your responsibility to know your data flows, and you should design accordingly. Bei Bedarf können Sie auf etablierte Verfahren zum Umgang mit derartigen Fällen an der Quelle zurückgreifen.There are established techniques to handle such cases at the source, if necessary.

Der Speichermodus Dual trägt zur Leistungsoptimierung bei.The Dual storage mode is a performance optimization. Er sollte nur auf eine Weise verwendet werden, die die Erfüllung geschäftlicher Anforderungen nicht beeinträchtigt.It should be used only in ways that don't compromise the ability to meet business requirements. Ziehen Sie bei anderen Verhaltensweisen ggf. die Verwendung der Methoden in Erwägung, die im Artikel Anwenden von m:n-Beziehungen in Power BI Desktop beschrieben werden.For alternative behavior, consider using the techniques described in the Many-to-many relationships in Power BI Desktop.

DatenansichtData view

Ist für mindestens eine Tabelle im Dataset der Speichermodus auf Import oder Dual festgelegt, kann die Registerkarte Datenansicht angezeigt werden.If at least one table in the dataset has its storage mode set to either Import or Dual, the Data view tab is displayable.

Datensicht in Power BI Desktop

Wenn Dual- und Import-Tabellen in der Datenansicht ausgewählt sind, zeigen diese zwischengespeicherte Daten an.When you select Dual and Import tables in Data view, they show cached data. DirectQuery-Tabellen zeigen keine Daten an, und es wird eine Meldung angezeigt, die besagt, dass DirectQuery-Tabellen nicht angezeigt werden können.DirectQuery tables don't show data, and a message is displayed that states that DirectQuery tables can't be shown.

Einschränkungen und ÜberlegungenLimitations and considerations

Es gibt einige Einschränkungen für dieses Release des Speichermodus und dessen Korrelation mit zusammengesetzten Modellen.There are a few limitations for this release of storage mode and its correlation with composite models.

Die folgenden mehrdimensionalen Live Connect-Quellen können nicht mit zusammengesetzten Modellen verwendet werden: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-DatasetsPower BI datasets
  • Azure Analysis ServicesAzure Analysis Services

Wenn Sie mithilfe von DirectQuery eine Verbindung mit diesen mehrdimensionalen Quellen herstellen, können Sie keine Verbindung mit einer anderen DirectQuery-Quelle herstellen oder diese mit importierten Daten kombinieren.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.

Die bestehenden Einschränkungen für die Verwendung von DirectQuery gelten nach wie vor, wenn Sie zusammengesetzte Modelle verwenden.The existing limitations of using DirectQuery still apply when you use composite models. Viele dieser Einschränkungen gelten jetzt abhängig vom Speichermodus der Tabelle für eine einzelne Tabelle.Many of those limitations are now per table, depending upon the storage mode of the table. Beispielsweise kann eine berechnete Spalte in einer importierten Tabelle auf andere Tabellen verweisen, wohingegen eine berechnete Spalte in einer DirectQuery-Tabelle nach wie vor nur auf Spalten in derselben Tabelle verweisen kann.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. Es gelten weitere Einschränkungen für das Modell als Ganzes, wenn eine der Tabellen im Modell DirectQuery enthält.Other limitations apply to the model as a whole, if any of the tables within the model are DirectQuery. Die Features QuickInsights und Q&A sind nicht für Modelle verfügbar, wenn eine der Tabellen den Speichermodus „DirectQuery“ aufweist.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.

Nächste SchritteNext steps

Weitere Informationen zu zusammengesetzten Modellen und DirectQuery finden Sie in den folgenden Artikeln:For more information about composite models and DirectQuery, see the following articles: