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

Wenn Sie mit Power BI Desktop eine Verbindung mit Ihrer Datenquelle herstellen, können Sie immer eine Kopie der Daten in Power BI Desktop importieren.With Power BI Desktop, when you connect to your data source, it's always possible to import a copy of the data into the Power BI Desktop. Für einige Datenquellen steht hierzu eine weitere Möglichkeit zur Verfügung: das Herstellen einer direkten Verbindung mit der Datenquelle mithilfe von 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 über die Option Daten abrufen eine Verbindung mit einer Datenquelle herstellen, die von DirectQuery unterstützt wird, können Sie im Dialogfeld „Verbindung“ auswählen, wie die Verbindung hergestellt werden soll.When you use Get Data to connect to a data source supported by DirectQuery, the connection dialog box lets you select how you want to connect. Klicken Sie beispielsweise in Power BI Desktop im Menüband Start auf die Option Daten abrufen > SQL Server.For example, in Power BI Desktop, under the Home ribbon, select Get Data > SQL Server. Im Dialogfeld SQL Server-Datenbank werden unter Datenkonnektivitätsmodus die Optionen Import und DirectQuery angezeigt:In the SQL Server Database dialog box, the Data Connectivity mode shows options of Import and DirectQuery:

Optionen „Import“ und „DirectQuery“ im Dialogfeld „SQL Server-Datenbank“ in Power BI Desktop

Die Optionen Import und DirectQuery weisen folgende Unterschiede auf:Here are the differences between selecting Import and DirectQuery:

  • Import: 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. Aktualisieren Sie die Daten, um zugrunde liegende Änderungen seit dem ersten Import oder der letzten Aktualisierung anzuzeigen. Dabei wird das vollständige Dataset noch mal importiert.To see underlying data changes since the initial import or the most recent refresh, you must refresh the data, which imports the full dataset again.

  • 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. Dadurch werden immer aktuelle Daten angezeigt.As you create or interact with a visualization, Power BI Desktop queries the underlying data source, so 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 müssen Sie die zugrunde liegende Quelle abrufen.When you create or interact with a visualization, you must query the underlying source. Die zum Aktualisieren der Visualisierung benötigte Zeit hängt von der Leistung der zugrunde liegenden Datenquelle ab.The time that's needed to refresh the visualization depends on the performance of the underlying data source. Wurden die für die Anforderung erforderlichen Daten kürzlich abgefragt, verwendet Power BI Desktop diese Daten, um die Visualisierung schneller anzeigen zu können.When the data needed to service the request has recently been requested, Power BI Desktop uses recent data to reduce the required time to show the visualization. Klicken Sie im Menüband Start auf Aktualisieren, um alle Visualisierungen mit aktuellen Daten zu aktualisieren.If you select Refresh from the Home ribbon, all visualizations are refreshed with current data.

Eine ausführliche Beschreibung von DirectQuery finden Sie im Artikel Power BI und DirectQuery.The Power BI and DirectQuery article describes DirectQuery in detail. Weitere Informationen zu den Vorteilen, Einschränkungen sowie wichtigen Überlegungen bei der Verwendung von DirectQuery finden Sie in den folgenden Abschnitten.For more information about benefits, limitations, and important considerations when using DirectQuery, see the following sections.

Vorteile der Verwendung von DirectQueryBenefits of using DirectQuery

Die Verwendung von DirectQuery besitzt folgende Vorteile:There are a few benefits to using DirectQuery:

  • Mithilfe von DirectQuery können Visualisierungen sehr großer Datasets erstellt werden, die Sie andernfalls unmöglich mit Vorabaggregation aller Daten importieren könnten.DirectQuery lets you build visualizations over very large datasets, where it would otherwise be unfeasible to first import all the data with pre-aggregation.
  • Änderungen an den zugrunde liegenden Daten können eine Aktualisierung der Daten erforderlich machen.Underlying data changes can require a refresh of data. Für einige Berichte, die stets aktuelle Daten anzeigen müssen, sind eventuell umfangreiche Datenübertragungen erforderlich, sodass das erneute Importieren von Daten nicht durchführbar ist.For some reports, the need to display current data can require large data transfers, making reimporting data unfeasible. Im Gegensatz dazu werden in DirectQuery-Berichten immer aktuelle Daten verwendet.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 doesn't apply to DirectQuery.

Einschränkungen für DirectQueryLimitations of DirectQuery

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

  • Bei einer zu komplexen Abfrage im Abfrage-Editor tritt ein Fehler auf.If the Query Editor query is overly complex, an error occurs. Löschen Sie zur Behebung des Fehlers entweder den fraglichen Schritt im Abfrage-Editor, oder verwenden Sie anstelle von DirectQuery die Option Import.To remedy the error, either delete the problematic step in Query Editor, or import the data instead of using DirectQuery. Für mehrdimensionale Datenquellen wie SAP Business Warehouse ist kein Abfrage-Editor verfügbar.For multi-dimensional sources like SAP Business Warehouse, there's no Query Editor.

  • Zeitintelligenzfunktionen sind in DirectQuery nicht verfügbar.Time intelligence capabilities are unavailable in DirectQuery. Beispielsweise wird die spezifische Behandlung von Datumsspalten (wie Jahr, Quartal, Monat oder Tag) im DirectQuery-Modus nicht unterstützt.For example, special treatment of date columns (such as year, quarter, month, or day) isn't supported in DirectQuery mode.

  • Berechnete Tabellen und Spalten, die auf eine DirectQuery-Tabelle aus einer Datenquelle mit SSO-Authentifizierung verweisen, werden im Power BI-Dienst nicht unterstützt.Calculated tables and calculated columns that reference a DirectQuery table from a data source with Single Sign-on (SSO) authentication are not supported in the Power BI Service.

  • 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.

  • Für Cloudanwendungen gibt es ein Limit von 1 Million Zeilen, wobei lokale Quellen auf eine definierte Nutzlast von ungefähr 4 MB pro Zeile (abhängig vom Algorithmus der proprietären Komprimierung) oder 16 MB Datengröße für das gesamte Visual beschränkt sind.There's a one-million-row limit for cloud sources, with on-premises sources limited to a defined payload of about 4 MB per row (depending on proprietary compression algorithm) or 16MB data size for the entire visual. Bestimmte Grenzwerte können bei Verwendung der Premium-Kapazität angehoben werden.Certain limits may be raised when using Premium capacity. Dies betrifft nicht Aggregationen oder Berechnungen, die zum Erstellen des mit DirectQuery zurückgegebenen Datasets verwendet werden.The limit doesn't affect aggregations or calculations used to create the dataset returned using DirectQuery. Die Begrenzung betrifft nur die zurückgegebenen Zeilen.It only affects the rows returned. Bei Premium-Kapazitäten kann eine maximale Zeilenanzahl festgelegt werden, wie in diesem Beitrag beschrieben.Premium capacities can set maximum row limits, as described in this post.

    Sie können beispielsweise 10 Millionen Zeilen mit der Abfrage aggregieren, die für die Datenquelle ausgeführt wird.For example, you can aggregate 10 million rows with your query that runs on the data source. Die Abfrage gibt die korrekten Ergebnisse dieser Aggregation mithilfe von DirectQuery an Power BI zurück, wenn die zurückgegebenen Power BI-Daten aus weniger als 1 Million Zeilen bestehen.The query accurately returns the results of that aggregation to Power BI using DirectQuery if the returned Power BI data is less than 1 million rows. Wenn mehr als eine Million Zeilen von DirectQuery zurückgegeben werden, gibt Power BI einen Fehler zurück (außer bei Premium-Kapazität, solange die Zeilenanzahl unterhalb der vom Administrator festgelegten Obergrenze liegt).If over 1 million rows are returned from DirectQuery, Power BI returns an error (unless in Premium capacity, and the row count is under the admin-set limit).

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

Die folgenden drei Aspekte 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 Aktualisierungsdauer für das Visual 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 required visual refresh time depends on how long that back-end source takes to respond with the results from the query (or queries). Die empfohlene Antwortzeit (für die Rückgabe der angeforderten Daten) bei Verwendung von DirectQuery für Visuals beträgt fünf Sekunden oder weniger. Die maximale empfohlene Antwortzeit für Ergebnisse beträgt 30 Sekunden.Five seconds or less is the recommended response time (with requested data being returned) for using DirectQuery for visuals; the maximum recommended time is 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 für jede Abfrage, die länger als einige Minuten dauert, ein Timeout auf, und der Benutzer erhält eine Fehlermeldung.After 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. Auch die Verwendung von Sicherheit auf Zeilenebene (Row Level Security, RLS) kann erhebliche Auswirkungen besitzen.Using Row Level Security (RLS) can have a significant impact as well. Eine Dashboardkachel ohne RLS, die von mehreren Benutzern gemeinsam genutzt wird, führt zu einer einzelnen Datenbankabfrage.A non-RLS dashboard tile shared by multiple users results in a single query to the database. Die Verwendung von RLS für eine Dashboardkachel bedeutet jedoch in der Regel, dass für die Aktualisierung der Kachel eine Abfrage pro Benutzer erforderlich ist. Dadurch wird die Auslastung der Quelldatenbank deutlich erhöht und die Leistung möglicherweise beeinträchtigt.Using RLS on a dashboard tile, however, usually means the refresh of a tile requires one query per user, 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 ist die generierte Abfrage jedoch möglicherweise nicht effizient genug, um Aktualisierungsfehler zu verhindern.Under certain situations, however, the generated query may not be efficient enough to avoid a 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.One example of this situation is when a generated query retrieves an excessively large number of rows from the back-end data source. In diesem Fall wird der folgende Fehler zurückgegeben:In this 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 Visual darf nur Spalten mit einer Kardinalität unter 1 Million enthalten, oder es müssen entsprechende Filter angewendet werden.The visual needs to only have columns with a cardinality below 1 million, or it must apply the appropriate filters.

  • Sicherheit: Alle Benutzer, die einen veröffentlichten Bericht verwenden, stellen automatisch eine Verbindung mit der Back-End-Datenquelle mithilfe der Anmeldeinformationen her, die nach der Veröffentlichung im Power BI-Dienst eingegeben wurden.Security: By default, 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 derselbe Vorgang wie bei importierten Daten: Für alle Benutzer werden dieselben Daten angezeigt, unabhängig von in der Back-End-Datenquelle definierten Sicherheitsregeln.This process is the same for data that's imported: all users see the same data, regardless of any security rules defined in the backend source.

    Kunden, die mit DirectQuery-Quellen benutzerspezifische Sicherheit implementieren möchten, sollten entweder RLS verwenden oder für die Quelle die eingeschränkte Kerberos-Authentifizierung konfigurieren.Customers who want per-user security implemented with DirectQuery sources should either use RLS or configure Kerberos-constrained authentication against the source. Kerberos ist nicht für alle Quellen verfügbar.Kerberos isn't available for all sources. Erfahren Sie mehr zu RLS.Learn more about RLS. Weitere Informationen zu Kerberos in DirectQuery.Learn more about Kerberos in DirectQuery.

  • Unterstützte Funktionen: Nicht alle Funktionen in Power BI Desktop werden im DirectQuery-Modus unterstützt, oder es gelten bestimmte Einschränkungen.Supported features: Some features in Power BI Desktop are unsupported in DirectQuery mode, or they have limitations. Zudem sind einige Funktionen des Power BI-Diensts (z. B. Quick Insights) nicht für Datasets verfügbar, die DirectQuery verwenden.Also, some capabilities in the Power BI service (such as Quick Insights) aren't available for datasets using DirectQuery. Wenn Sie über die Verwendung von DirectQuery nachdenken, sollten Sie diese Funktionseinschränkungen berücksichtigen.When determining whether to use DirectQuery, you should consider these feature limitations.

Hinweis

Bei Verwendung von DirectQuery mit einer Azure SQL-Datenbank-Instanz und privaten IP-Adresse ist ein lokales Gateway erforderlich.When using DirectQuery with an Azure SQL Database and a private IP address, an on-premises gateway is required.

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 verwendete Datenquelle kein lokales Datengateway benötigt (Azure SQL-Datenbank, Azure SQL Data Warehouse oder Redshift), ist die Eingabe von Anmeldeinformationen erforderlich, bevor der veröffentlichte Bericht im Power BI-Dienst angezeigt wird.If the used data source doesn't need the On-premises data gateway (Azure SQL Database, Azure SQL Data Warehouse, or Redshift), you must provide credentials before the Power BI service shows the published report. Führen Sie die folgenden Schritte aus, um die Anmeldeinformationen bereitzustellen:Follow these instructions to provide the credentials:

  1. Melden Sie sich bei Power BI an.Sign in to Power BI.

  2. Klicken Sie im Power BI-Dienst auf das Zahnradsymbol für Einstellungen und anschließend auf das Menüelement Einstellungen.In the Power BI service, select the Settings gear icon and choose the Settings menu item.

    Einstellungen im Power BI-Dienst

  3. Klicken Sie im Power BI-Dienst auf der Seite Einstellungen auf die Registerkarte Datasets und dann auf das Dataset, das DirectQuery verwendet. Klicken Sie anschließend auf Anmeldeinformationen bearbeiten.In the Power BI service's Settings page, select the Datasets tab, choose the dataset that uses DirectQuery, and select Edit credentials.

  4. Fügen Sie die Anmeldeinformationen hinzu.Add the credentials. Andernfalls tritt ein Fehler auf, wenn Sie einen veröffentlichten Bericht öffnen oder ein Dataset untersuchen, das mit einer DirectQuery-Verbindung erstellt wurde.Otherwise, an error occurs when you open a published report or explore a dataset that's created with a DirectQuery connection.

Wenn Sie eine Verbindung mit einer anderen Datenquelle als Azure SQL-Datenbank, Azure SQL Data Warehouse, Redshift oder Snowflake Data Warehouse herstellen möchten, die DirectQuery verwendet, installieren Sie ein lokales Datengateway, und registrieren Sie die Datenquelle.To make a data connection for data sources other than Azure SQL Database, Azure SQL Data Warehouse, Redshift, or Snowflake Data Warehouse that use DirectQuery, install an On-premises data gateway and register the data source. Weitere Informationen finden Sie unter Was ist ein lokales Datengateway?.For more information, see What is an on-premises data gateway?

Nächste SchritteNext steps

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