Verwenden von DirectQuery in Power BI Desktop

Wenn Sie mit Power BI Desktop eine Verbindung mit einer beliebigen Datenquelle herstellen, können Sie eine Kopie der Daten importieren. Bei einigen Datenquellen können Sie auch eine direkte Verbindung mit der Datenquelle herstellen, ohne Daten mithilfe von DirectQuery zu importieren.

Um zu ermitteln, ob eine Datenquelle DirectQuery unterstützt, sehen Sie sich die vollständige Liste der verfügbaren Datenquellen im Artikel Connectors in Power Query an, der auch für Power BI gilt. Wählen Sie in der Liste der unterstützten Connectors den Artikel aus, der die gewünschte Datenquelle beschreibt, und lesen Sie dann den Abschnitt im Artikel zu diesem Connector mit dem Titel Unterstützte Funktionen. Wenn DirectQuery in diesem Abschnitt für den Artikel zur Datenquelle nicht aufgeführt ist, wird DirectQuery für diesen Datenconnector nicht unterstützt.

Hier sind die Unterschiede zwischen der Verwendung von Import- und DirectQuery-Konnektivitätsmodi:

  • Import: Eine Kopie der Daten aus den ausgewählten Tabellen und Spalten wird in Power BI Desktop importiert. Beim Erstellen oder Interagieren mit einer Visualisierung verwendet Power BI Desktop die importierten Daten. Um zugrundeliegende Datenänderungen nach dem ersten Import oder der letzten Aktualisierung zu sehen, müssen Sie das gesamte Semantikmodell erneut importieren, um die Daten zu aktualisieren.

  • DirectQuery: Es werden keine Daten in Power BI Desktop importiert. Für relationale Quellen können Sie Tabellen und Spalten auswählen, die in der Liste Power BI Desktop Felder angezeigt werden sollen. Bei mehrdimensionalen Datenquellen wie SAP Business Warehouse (SAP BW) werden die Dimensionen und Measures für den ausgewählten Cube in der Liste Felder angezeigt. Beim Erstellen oder Interagieren mit einer Visualisierung fragt Power BI Desktop die zugrunde liegende Datenquelle ab. Dadurch werden immer aktuelle Daten angezeigt.

Wenn Sie mit DirectQuery eine Visualisierung erstellen oder mit ihr interagieren, müssen Sie die zugrunde liegende Quelle abfragen. Die zum Aktualisieren der Visualisierung benötigte Zeit hängt von der Leistung der zugrunde liegenden Datenquelle ab. 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. Durch Auswählen von Aktualisieren im Menüband auf der Registerkarte Start wird sichergestellt, dass alle Visualisierungen mit aktuellen Daten aktualisiert werden.

Bei Verwendung von DirectQuery sind viele Datenmodelle und Datentransformationen verfügbar, jedoch mit einigen leistungsbasierten Einschränkungen. Weitere Informationen zu den Vorteilen, Einschränkungen und Empfehlungen von DirectQuery finden Sie unter DirectQuery in Power BI.

Vorteile von DirectQuery.

Einige Vorteile der Verwendung von DirectQuery sind:

  • Mithilfe von DirectQuery können Visualisierungen sehr großer Semantikmodelle erstellt werden, die Sie andernfalls unmöglich mit Vorabaggregation aller Daten importieren könnten.

  • In DirectQuery-Berichten werden immer aktuelle Daten verwendet. Wenn Sie die zugrunde liegenden Datenänderungen sehen, müssen Sie die Daten aktualisieren, und das erneute Importieren großer Semantikmodelle zum Aktualisieren von Daten ist möglicherweise nicht durchführbar.

  • Die Einschränkung auf 1 GB für Semantikmodelle gilt nicht für DirectQuery.

Herstellen einer Verbindung mithilfe von DirectQuery

So stellen Sie mit DirectQuery eine Verbindung mit einer Datenquelle her:

  1. Wählen Sie in der Gruppe Start des Menübands Power BI Desktop die Option Daten abrufen aus, und wählen Sie dann eine von DirectQuery unterstützte Datenquelle aus, z. B. SQL Server.

  2. Wählen Sie im Dialogfeld für die Verbindung unter Datenkonnektivitätsmodusdie Option DirectQuery aus.

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

Veröffentlichen im Power BI-Dienst

Sie können DirectQuery-Berichte im Power BI-Dienst veröffentlichen, müssen jedoch zusätzliche Schritte ausführen, damit die Power BI-Dienst die Berichte öffnen können.

  • Um den Power BI-Service mit anderen DirectQuery-Datenquellen als Azure SQL Database, Azure Synapse Analytics (früher SQL Data Warehouse), Amazon Redshift und Snowflake Data Warehouse zu verbinden, installieren Sie ein lokales Daten-Gateway und registrieren Sie die Datenquelle.

  • Wenn Sie DirectQuery mit Cloudquellen wie Azure SQL Database, Azure Synapse, Amazon Redshift oder Snowflake Data Warehouse verwendet haben, benötigen Sie kein lokales Datengateway. Sie müssen weiterhin Anmeldeinformationen für den Power BI-Dienst angeben, um den veröffentlichten Bericht zu öffnen. Ohne Anmeldeinformationen tritt ein Fehler auf, wenn Sie einen veröffentlichten Bericht öffnen oder ein Semantikmodell untersuchen, das mit einer DirectQuery-Verbindung erstellt wurde.

So geben Sie Anmeldeinformationen zum Öffnen des Berichts und Aktualisieren der Daten an:

  1. Wählen Sie rechts oben im Power BI-Dienst das Zahnradsymbol und Einstellungen aus.

    Screenshot des Dropdownmenüs „Power BI-Dienst Einstellungen“.

  2. Wählen Sie auf der Seite Einstellungen die Registerkarte Semantikmodelle und dann das Semantikmodell aus, das DirectQuery verwendet.

  3. Geben Sie unter Datenquellenverbindung die Anmeldeinformationen zum Herstellen einer Verbindung mit der Datenquelle an.

Hinweis

Wenn Sie DirectQuery mit einer Azure SQL-Datenbank mit einer privaten IP-Adresse verwendet haben, müssen Sie ein lokales Gateway verwenden.

Überlegungen und Einschränkungen

Nicht alle Funktionen in Power BI Desktop werden im DirectQuery-Modus unterstützt, oder es gelten bestimmte Einschränkungen. Zudem sind einige Funktionen des Power BI-Diensts (z. B. Quick Insights) nicht für Semantikmodelle verfügbar, die DirectQuery verwenden. Wenn Sie über die Verwendung von DirectQuery nachdenken, sollten Sie diese Funktionseinschränkungen berücksichtigen. Berücksichtigen Sie dabei außerdem Folgendes:

Überlegungen zu Leistung und Auslastung

DirectQuery sendet alle Anforderungen an die Quelldatenbank, sodass die erforderliche Aktualisierungszeit für Visuals davon abhängt, wie lange die zugrunde liegende Quelle benötigt, um Ergebnisse zurückzugeben. Fünf Sekunden oder weniger ist die empfohlene Antwortzeit für den Empfang angeforderter Daten für Visuals. Aktualisierungszeiten über 30 Sekunden führen zu einer inakzeptabel schlechten Benutzeroberfläche für Benutzer, die den Bericht verwenden. Bei einer Abfrage, die länger als vier Minuten dauert, wird das Zeitüberschreitungsout im Power BI-Dienst, und der Benutzer erhält einen Fehler.

Die Auslastung der Quelldatenbank hängt auch von der Anzahl der Power BI-Benutzer ab, die den veröffentlichten Bericht nutzen, insbesondere, wenn der Bericht Sicherheit auf Zeilenebene (RLS) verwendet. Die Aktualisierung einer Nicht-RLS-Dashboardkachel, die von mehreren Benutzern freigegeben wird, sendet eine einzelne Abfrage an die Datenbank, aber das Aktualisieren einer Dashboardkachel, die RLS verwendet, erfordert eine Abfrage pro Benutzer. Die erhöhten Abfragen erhöhen die Auslastung erheblich und wirken sich möglicherweise auf die Leistung aus.

1-Millionen-Zeilenlimit

DirectQuery definiert einen Grenzwert von einer Million Zeilen für Daten, die aus Clouddatenquellen zurückgegeben werden, bei denen es sich um keine lokalen Datenquellen handelt. Lokale Quellen sind abhängig vom proprietären Komprimierungsalgorithmus auf eine definierte Nutzlast von etwa 4 MB pro Zeile oder auf 16 MB für das gesamte Visual beschränkt. Premium-Kapazitäten können unterschiedliche maximale Zeilenlimits festlegen, wie im Blogbeitrag Power BI Premium neuen Kapazitätseinstellungen beschrieben.

Power BI erstellt abfragen, die so effizient wie möglich sind, aber einige generierte Abfragen rufen möglicherweise zu viele Zeilen aus der zugrunde liegenden Datenquelle ab. 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. Das Visual darf nur Spalten mit einer Kardinalität unter 1 Million enthalten, oder es müssen entsprechende Filter angewendet werden.

Das Zeilenlimit gilt nicht für Aggregationen oder Berechnungen, die zum Auswählen des von DirectQuery zurückgegebenen Semantikmodells verwendet werden, sondern nur für die zurückgegebenen Zeilen. Sie können beispielsweise 10 Millionen Zeilen mit der Abfrage aggregieren, die für die Datenquelle ausgeführt wird. Solange die an Power BI zurückgegebenen Daten kleiner als 1 Million Zeilen sind, kann die Abfrage die Ergebnisse genau zurückgeben. Wenn die Daten mehr als 1 Million Zeilen umfassen, zeigt Power BI einen Fehler an, mit Ausnahme der Premium-Kapazität mit unterschiedlichen Grenzwerten für Administratoren. Fehlerbeschreibung: „Das Resultset einer Abfrage einer externen Datenquelle hat die maximal zulässige Größe von '1000000' Zeilen überschritten.“

Sicherheitshinweise

Standardmäßig stellen alle Benutzer, die einen veröffentlichten Bericht im Power BI-Dienst nutzen, eine Verbindung zur zugrunde liegenden Datenquelle her, indem sie die nach der Veröffentlichung eingegebenen Anmeldeinformationen verwenden. Diese Situation ist die gleiche wie bei importierten Daten. Alle Benutzer sehen dieselben Daten, unabhängig von den Sicherheitsregeln, die die zugrunde liegende Quelle definiert.

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. Kerberos ist nicht für alle Quellen verfügbar. Weitere Informationen finden Sie unter Sicherheit auf Zeilenebene (RLS) mit Power BI und Konfigurieren des kerberosbasierten einmaligen Anmeldens von Power BI-Dienst zu lokalen Datenquellen.

Andere DirectQuery-Einschränkungen

Einige andere Einschränkungen bei der Verwendung von DirectQuery sind:

  • Bei einer zu komplexen Abfrage im Power Query-Editor tritt ein Fehler auf. Um den Fehler zu beheben, müssen Sie entweder den problematischen Schritt in Power Query-Editor löschen oder in den Importmodus wechseln. Mehrdimensionale Quellen wie SAP BW können die Power Query-Editor nicht verwenden.

  • Autom. Datum/Uhrzeit ist in DirectQuery nicht verfügbar. Der DirectQuery-Modus unterstützt keine Datumsspalten-Drilldowns nach Jahr, Quartal, Monat oder Tag.

  • Für Tabellen- oder Matrixvisualisierungen gibt es einen Grenzwert von 125 Spalten für Ergebnisse, die mehr als 500 Zeilen aus DirectQuery-Quellen zurückgeben. Diese Ergebnisse zeigen eine Bildlaufleiste in der Tabelle oder Matrix an, mit der Sie weitere Daten abrufen können. In einer solchen Situation beträgt die maximale Spaltenanzahl in der Tabelle oder Matrix 125. Wenn Sie mehr als 125 Spalten in einer einzelnen Tabelle oder Matrix einschließen müssen, erwägen Sie die Erstellung von Measures mit MIN, MAX, FIRST, oder LAST, da diese nicht für den Maximalwert angerechnet werden.

  • Sie können nicht vom Import- in den DirectQuery-Modus wechseln. Sie können vom DirectQuery-Modus in den Importmodus wechseln, wenn Sie alle erforderlichen Daten importieren. Es ist nicht möglich, zurückzuschalten, vor allem aufgrund des Featuresatzes, den DirectQuery nicht unterstützt. Aufgrund der anderen Verarbeitung externer Measures kann für DirectQuery-Modelle für mehrdimensionale Datenquellen wie SAP BW auch vom DirectQuery- in den Importmodus gewechselt werden.

  • Berechnete Tabellen und Spalten, die auf eine DirectQuery-Tabelle aus einer Datenquelle mit SSO-Authentifizierung verweisen, werden im Power BI-Dienst nicht unterstützt.