Verwenden von DirectQuery in Power BI DesktopUse DirectQuery in Power BI Desktop

Wenn Sie mit Power BI Desktop eine Verbindung zu Ihrer Datenquelle herstellen, ist es immer möglich, eine Kopie der Daten in Power BI Desktop zu importieren.With Power BI Desktop, when you connect to your data source, it is always possible to import a copy of the data into the Power BI Desktop. Für einige Datenquellen steht ein alternativer Ansatz zur Verfügung: das Herstellen einer direkten Verbindung zur Datenquelle mit DirectQuery.For some data sources, an alternative approach is available: connect directly to the data source using DirectQuery.

Unterstützte DatenquellenSupported Data Sources

Eine vollständige Auflistung der Datenquellen, die DirectQuery unterstützen, finden Sie unter Von DirectQuery unterstützte Datenquellen.For a full listing of data sources that support DirectQuery, see Data sources supported by DirectQuery.

Herstellen einer Verbindung mithilfe von DirectQueryHow to Connect using DirectQuery

Wenn Sie Daten abrufen verwenden, um eine Verbindung mit einer Datenquelle herzustellen, die von DirectQuery unterstützt wird, können Sie im Verbindungsfenster auswählen, wie Sie die Verbindung herstellen möchten.When you use Get Data to connect to a data source supported by DirectQuery, the connection window lets you select how you want to connect.

Importieren und DirectQuery weisen folgende Unterschiede auf:The differences between selecting Import and DirectQuery are the following:

Importieren: Die ausgewählten Tabellen und Spalten werden in Power BI Desktop importiert.Import – the selected tables and columns are imported into Power BI Desktop. Beim Erstellen oder Interagieren mit einer Visualisierung verwendet Power BI Desktop die importierten Daten.As you create or interact with a visualization, Power BI Desktop uses the imported data. Um Änderungen anzuzeigen, die seit dem ersten Import oder der letzten Aktualisierung an den zugrunde liegenden Daten vorgenommen wurden, müssen Sie die Daten aktualisieren. Dabei wird das vollständige Dataset erneut importiert.You must refresh the data, which imports the full data set again, to see any changes that occurred to the underlying data since the initial import or the most recent refresh.

DirectQuery: Es werden keine Daten in Power BI Desktop importiert oder kopiert.DirectQuery – no data is imported or copied into Power BI Desktop. Bei relationalen Quellen werden die ausgewählten Tabellen und Spalten in der Liste Felder angezeigt.For relational sources, the selected tables and columns appear in the Fields list. Bei mehrdimensionalen Datenquellen wie SAP Business Warehouse werden die Dimensionen und Measures für den ausgewählten Cube in der Liste Felder angezeigt.For multi-dimensional sources like SAP Business Warehouse, the dimensions and measures of the selected cube appear in the Fields list. Beim Erstellen oder Interagieren mit einer Visualisierung fragt Power BI Desktop die zugrunde liegende Datenquelle ab. Das bedeutet, dass Ihnen immer aktuelle Daten angezeigt werden.As you create or interact with a visualization, Power BI Desktop queries the underlying data source, which means you’re always viewing current data.

Bei Verwendung von DirectQuery sind viele Datenmodelle und Datentransformationen verfügbar, jedoch mit einigen Einschränkungen.Many data modeling and data transformations are available when using DirectQuery, though with some limitations. Beim Erstellen oder Interagieren mit einer Visualisierung muss die zugrunde liegende Datenquelle abgefragt werden. Die zum Aktualisieren der Visualisierung erforderliche Zeit ist abhängig von der Leistung der zugrunde liegenden Datenquelle.When creating or interacting with a visualization, the underlying source must be queried and the time necessary to refresh the visualization is dependent on the performance of the underlying data source. Wenn die erforderlichen Daten für die Anforderung kürzlich abgefragt wurden, verwendet Power BI Desktop diese Daten, damit weniger Zeit zum Anzeigen der Visualisierung benötigt wird.When the data necessary to service the request has recently been requested, Power BI Desktop uses recent data to reduce the time required to display the visualization. Durch Auswählen von Aktualisieren im Menüband auf der Registerkarte Start wird sichergestellt, dass alle Visualisierungen mit aktuellen Daten aktualisiert werden.Selecting Refresh from the Home ribbon will ensure all visualizations are refreshed with current data.

Im Artikel Power BI und DirectQuery wird DirectQuery im Detail beschrieben.The Power BI and DirectQuery article describes DirectQuery in detail. Weitere Informationen über die Vorteile und Einschränkungen sowie wichtige Überlegungen zur Verwendung von DirectQuery finden Sie außerdem in den folgenden Abschnitten.Also, see the following sections for more information about benefits, limitations, and important considerations when using DirectQuery.

Vorteile der Verwendung von DirectQueryBenefits of using DirectQuery

Einige Vorteile sprechen für die Verwendung von DirectQuery:There are a few benefits to using DirectQuery:

  • Mithilfe von DirectQuery können Visualisierungen sehr großer Datasets erstellt werden, bei denen es andernfalls nicht möglich wäre, sämtliche Daten mit Vorabaggregation zu importieren.DirectQuery lets you build visualizations over very large datasets, where it would otherwise be unfeasible to first import all of the data with pre-aggregation
  • Änderungen an den zugrunde liegenden Daten können eine Aktualisierung der Daten erforderlich machen, und bei einigen Berichten kann das Erfordernis, aktuelle Daten zu zeigen, sehr umfangreiche Datenübertragungen mit sich bringen, was das erneute Importieren von Daten praktisch ausschließt.Underlying data changes can require a refresh of data, and for some reports, the need to display current data can require large data transfers, making re-importing data unfeasible. Im Gegensatz dazu verwenden DirectQuery -Berichte immer aktuelle Daten.By contrast, DirectQuery reports always use current data
  • Die Einschränkung auf 1 GB für Datasets gilt nicht für DirectQuery.The 1-GB dataset limitation does not apply to DirectQuery

Einschränkungen für DirectQueryLimitations of DirectQuery

Derzeit bestehen einige Einschränkungen bei der Verwendung von DirectQuery:There are currently a few limitations to using DirectQuery:

  • Alle Tabellen müssen aus einer einzelnen Datenbank kommen, es sei denn, es werden zusammengesetzte Modelle verwendet.All tables must come from a single database, unless using composite models

  • Wenn die Abfrage im Abfrage-Editor übermäßig komplex ist, tritt ein Fehler auf.If the Query Editor query is overly complex, an error will occur. Um den Fehler zu beheben, müssen Sie wie folgt vorgehen: Löschen Sie den fraglichen Schritt im Abfrage-Editor, oder importieren Sie die Daten, statt DirectQuery zu verwenden.To remedy the error you must either delete the problematic step in Query Editor, or Import the data instead of using DirectQuery. Bei mehrdimensionalen Datenquellen wie SAP Business Warehouse ist kein Abfrage-Editor vorhanden.For multi-dimensional sources like SAP Business Warehouse, there is no Query Editor

  • Zeitintelligenzfunktionen sind in DirectQuery nicht verfügbar.Time intelligence capabilities are not available in DirectQuery. Beispielsweise wird die spezifische Behandlung von Datumsspalten (Jahr, Quartal, Monat, Tag usw.) im DirectQuery-Modus nicht unterstützt.For example, special treatment of date columns (year, quarter, month, day, so on) is not supported in DirectQuery mode.

  • Um sicherzustellen, dass Abfragen, die an die zugrundeliegende Datenquelle gesendet werden, eine akzeptable Leistung aufweisen, werden für Measures standardmäßig DAX-Einschränkungen angewendet.Limitations are placed on DAX expressions allowed in measures to ensure that queries sent to the underlying data source have acceptable performance.

  • Bei Verwendung von DirectQuery können maximal 1 Million Zeilen mit Daten zurückgegeben werden.There is a one-million-row limit for returning data when using DirectQuery. Dies betrifft nicht Aggregationen oder Berechnungen, die zum Erstellen des mit DirectQuery zurückgegebenen Datasets verwendet wurden, sondern nur die zurückgegebenen Zeilen.The limit does not affect aggregations or calculations used to create the dataset returned using DirectQuery, only the rows returned. Sie können beispielsweise 10 Millionen Zeilen mit der Abfrage aggregieren, die für die Datenquelle ausgeführt wird, und die Ergebnisse dieser Aggregation mithilfe von DirectQuery präzise an Power BI zurückgeben, solange weniger als 1 Million Zeilen mit Daten an Power BI zurückgegeben werden.For example, you can aggregate 10 million rows with your query that runs on the data source, and accurately return the results of that aggregation to Power BI using DirectQuery as long as the data returned to Power BI is less than 1 million rows. Wenn mehr als 1 Million Zeilen von DirectQuery zurückgegeben werden, gibt Power BI einen Fehler aus.If more than 1 million rows would be returned from DirectQuery, Power BI returns an error.

Wichtige Überlegungen bei der Verwendung von DirectQueryImportant considerations when using DirectQuery

Die folgenden drei Punkte sollten Sie bei der Verwendung von DirectQuery berücksichtigen:The following three points should be taken into consideration when using DirectQuery:

  • Leistung und Auslastung – Alle DirectQuery-Anforderungen werden an die Quelldatenbank gesendet. Daher hängt die erforderliche Zeitspanne für die Aktualisierung eines visuellen Elements davon ab, wie lange diese Back-End-Quelle für die Rückgabe der Ergebnisse der Abfrage (bzw. Abfragen) benötigt.Performance and load - All DirectQuery requests are sent to the source database, so the time required to refresh a visual is dependent on how long that back-end source takes to respond with the results from the query (or queries). Die empfohlene Reaktionszeit (mit der Rückgabe der angeforderten Daten) für die Verwendung von DirectQuery für visuelle Elemente beträgt fünf Sekunden oder weniger. Die empfohlene maximale Reaktionszeit für Ergebnisse beträgt 30 Sekunden.The recommended response time (with requested data being returned) for using DirectQuery for visuals is five seconds or less, with a maximum recommended results response time of 30 seconds. Eine längere Zeitspanne stellt eine inakzeptable Beeinträchtigung der Benutzerfreundlichkeit des Berichts dar.Any longer, and the experience of a user consuming the report becomes unacceptably poor. Sobald ein Bericht im Power BI-Dienst veröffentlicht wurde, tritt außerdem für jede Abfrage, die länger als einige Minuten dauert, ein Timeout auf, und der Benutzer erhält einen Fehler.In addition, once a report is published to the Power BI service, any query that takes longer than a few minutes will time out, and the user will receive an error.

    Auch sollte die Auslastung der Quelldatenbank basierend auf der Anzahl der Power BI-Benutzer berücksichtigt werden, die den veröffentlichten Bericht verwenden werden.Load on the source database should also be considered, based on the number of Power BI users who will consume the published report. Die Verwendung von Sicherheit auf Zeilenebene (Row Level Security, RLS) kann ebenfalls erhebliche Auswirkungen haben. Eine Nicht-RLS-Dashboardkachel, die von mehreren Benutzern gemeinsam verwendet wird, führt zu einer einzelnen Datenbankabfrage, doch die Verwendung von RLS für eine Dashboardkachel bedeutet in der Regel, dass für die Aktualisierung einer Kachel eine Abfrage pro Benutzer erforderlich ist. Hierdurch wird die Auslastung der Quelldatenbank deutlich erhöht und die Leistung möglicherweise beeinträchtigt.Using Row Level Security (RLS) can have a significant impact as well; a non-RLS dashboard tile shared by multiple users results in a single query to the database, but using RLS on a dashboard tile usually means the refresh of a tile requires one query per user, thus significantly increasing load on the source database and potentially impacting performance.

    Power BI erstellt Abfragen, die so effizient wie möglich sind.Power BI creates queries that are as efficient as possible. In bestimmten Situationen jedoch ist die generierte Abfrage möglicherweise nicht effizient genug, um Aktualisierungsfehler zu verhindern.Under certain situations however, the generated query may not be efficient enough to avoid refresh that would fail. Ein Beispiel für eine solche Situation ist eine generierte Abfrage, die eine übermäßig große Anzahl von Zeilen aus der Back-End-Datenquelle abruft. In diesem Fall tritt der folgende Fehler auf:One example of this situation is when a generated query would retrieve an excessively large number of rows from the back-end data source, in which case the following error occurs:

    The resultset of a query to external data source has exceeded
    

    Diese Situation kann bei einem einfachen Diagramm auftreten, das eine sehr hohe Kardinalitätsspalte enthält und für das die Aggregationsoption auf Nicht zusammenfassen festgelegt ist.This situation can occur with a simple chart that includes a very high cardinality column, with the aggregation option set to Don’t Summarize. Das visuelle Element darf nur Spalten mit einer Kardinalität unter 1 Million enthalten, oder es müssen entsprechenden Filter angewendet werden.The visual needs to only have columns with a cardinality below 1 million, or must have appropriate filters applied.

  • Sicherheit – Alle Benutzer, die einen veröffentlichten Bericht verwenden, stellen die Verbindung mit der Back-End-Datenquelle mit den Anmeldeinformationen her, die nach der Veröffentlichung im Power BI-Dienst eingegeben wurden.Security - All users who consume a published report connect to the back-end data source using the credentials entered after publication to the Power BI service. Dies ist dieselbe Ausgangssituation wie bei importierten Daten: Für alle Benutzer werden dieselben Daten angezeigt, unabhängig von den in der Back-End-Datenquelle definierten Sicherheitsregeln.This is the same situation as data that is imported: all users see the same data, irrespective of any security rules defined in the backend source. Kunden, die mit DirectQuery-Quellen benutzerspezifische Sicherheit implementieren möchten, sollten RLS verwenden.Customers who want per-user security implemented with DirectQuery sources should use RLS. Erfahren Sie mehr zu RLS.Learn more about RLS.

  • Unterstützte Funktionen – Nicht alle Funktionen in Power BI Desktop werden im DirectQuery-Modus unterstützt, oder es gelten bestimmte Einschränkungen.Supported features - Not all features in Power BI Desktop are supported in DirectQuery mode, or have some limitations. Darüber hinaus sind einige Funktionen des Power BI-Diensts (z. B. Schnelleinblicke) nicht für Datasets verfügbar, die DirectQuery verwenden.In addition, there are some capabilities in the Power BI service (such as Quick Insights) that are not available for datasets using DirectQuery. Daher sollten die Einschränkungen dieser Funktionen bei der Verwendung von DirectQuery berücksichtigt werden, wenn bestimmt wird, ob DirectQuery verwendet werden soll.As such, the limitation of such features when using DirectQuery should be taken into consideration when determining whether to use DirectQuery.

Veröffentlichen im Power BI-DienstPublish to the Power BI service

Mit DirectQuery erstellte Berichte können im Power BI-Dienst veröffentlicht werden.Reports created using DirectQuery can be published to the Power BI Service.

Wenn die Datenquelle kein lokales Datengateway benötigt (Azure SQL-Datenbank, Azure SQL Data Warehouse oder Redshift), müssen Anmeldeinformationen bereitgestellt werden, bevor der veröffentlichte Bericht im Power BI-Dienst angezeigt wird.If the data source used does not need the On-premises data gateway (Azure SQL Database, Azure SQL Data Warehouse, or Redshift), credentials must be provided before the published report will be displayed in the Power BI Service.

Sie können Anmeldeinformationen angeben, indem Sie in Power BI das Zahnradsymbol Einstellungen und anschließend Einstellungenauswählen.You can provide credentials by selecting the Settings gear icon in Power BI, then select Settings.

Power BI zeigt das Fenster Einstellungen an.Power BI displays the Settings window. Wählen Sie dort die Registerkarte Datasets und anschließend das Dataset aus, das DirectQuery verwendet. Wählen Sie dann Anmeldeinformationen bearbeiten aus.From there, select the Datasets tab and choose the dataset that uses DirectQuery, and select Edit credentials.

Wenn Sie vor der Angabe von Anmeldeinformationen versuchen, einen veröffentlichten Bericht zu öffnen oder ein Dataset zu untersuchen, das bzw. der mit einer DirectQuery-Verbindung zu einer solchen Datenquelle erstellt wurde, führt dies zu einem Fehler.Until credentials are supplied, opening a published report or exploring a dataset created with a DirectQuery connection to such data sources results in an error.

Bei anderen Datenquellen als Azure SQL-Datenbank, Azure SQL Data Warehouse und Redshift, die DirectQuery verwenden, muss ein lokales Datengateway installiert sein und die Datenquelle registriert werden, um eine Datenverbindung herstellen zu können.For data sources other than Azure SQL Database, Azure SQL Data Warehouse and Redshift that use DirectQuery, an On-premises data gateway must be installed and the data source must be registered to establish a data connection. Lesen Sie zu diesem Thema den Artikel zum lokalen Datengateway.You can learn more about On-premises data gateway.

Nächste SchritteNext steps

Weitere Informationen zu DirectQuery finden Sie sich den folgenden Ressourcen:For more information about DirectQuery, check out the following resources: