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 direkt eine Verbindung zur Datenquelle herstellen, ohne Daten zu importieren, indem Sie DirectQuery verwenden. In diesem Artikel werden die Unterschiede zwischen dem Import- und DirectQuery-Verbindungsmodus erläutert, und es wird darin erklärt, wie Sie mit DirectQuery eine Verbindung zu Datenquellen herstellen können. Außerdem werden Überlegungen und Einschränkungen im Zusammenhang mit der Nutzung von DirectQuery behandelt, z. B. die Themen Leistung und Sicherheit.
Um festzustellen, ob eine Datenquelle DirectQuery unterstützt, zeigen Sie die vollständige Liste der verfügbaren Datenquellen im Artikel Connectors in Power Query an. Diese Liste gilt auch für Power BI. Wählen Sie in der Liste der unterstützten Connectors den Artikel mit der Beschreibung der Datenquelle aus, an der Sie interessiert sind, und lesen Sie dann den Abschnitt Unterstützte Funktionen im Artikel des betreffenden Connectors. Wenn DirectQuery in diesem Abschnitt für den Artikel zur Datenquelle nicht aufgeführt ist, wird DirectQuery für diesen Datenconnector nicht unterstützt.
Nachfolgend sind die Unterschiede zwischen der Verwendung des Import- und DirectQuery-Konnektivitätsmodus aufgeführt:
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 im Bereich Daten von Power BI Desktop angezeigt werden sollen. Bei mehrdimensionalen Datenquellen wie SAP Business Warehouse (SAP BW) werden die Dimensionen und Maße für den ausgewählten Cube im Bereich Daten 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 der 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:
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.
Wählen Sie im Dialogfeld für die Verbindung unter Datenverbindungsmodus die Option DirectQuery aus.
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:
Wechseln Sie im Power BI-Dienst zum Arbeitsbereich, und suchen Sie in der Inhaltsliste des Arbeitsbereichs nach dem Semantikmodell, das DirectQuery nutzt.
Wählen Sie das Symbol Weitere Optionen (die drei horizontalen Punkte) neben dem Namen des Semantikmodells und anschließend Einstellungen aus.
Geben Sie unter Anmeldedaten für Datenquelle die Anmeldedaten 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.
Limit von 1 Million Zeilen
DirectQuery definiert ein Limit von 1 Million Zeilen für Daten, die aus Clouddatenquellen zurückgegeben werden und 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 zum Beispiel bei einem einfachen Diagramm auftreten, das eine Spalte mit sehr hoher Kardinalität enthält und für das die Aggregationsoption auf Keine Berechnung 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.
Wenn Sie bei DirectQuery-Quellen eine benutzerspezifische Sicherheit implementieren möchten, sollten Sie 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
, oderLAST
, da diese nicht für den Maximalwert angerechnet werden.Ein Wechsel vom Import- in den DirectQuery-Modus ist nicht möglich. 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 Maße ist bei DirectQuery-Modellen für mehrdimensionale Datenquellen wie SAP BW ebenfalls kein Wechsel vom DirectQuery- in den Importmodus möglich.
Berechnete Tabellen und Spalten, die auf eine DirectQuery-Tabelle aus einer Datenquelle mit SSO-Authentifizierung verweisen, werden im Power BI-Dienst mit einer zugewiesenen freigabefähigen Cloudverbindung und/oder präziser Zugriffskontrolle unterstützt.