DAX und Datenmodelle
Import vs. DirectQuery in Power BI: Was passt wann?
Import kopiert Daten in die Power-BI-Engine, DirectQuery fragt die Quelle live ab. Eine Vergleichstabelle und wann welcher Modus passt.
Sajagan Thirugnanam
·
Aktualisiert
Der Import-Modus kopiert Ihre Daten in die In-Memory-Engine von Power BI. Das macht Reports schnell, aber nur so aktuell wie die letzte Aktualisierung. DirectQuery schickt bei jeder Interaktion mit einem Visual eine Live-Abfrage an Ihre Quelle. Die Daten bleiben aktuell, aber die Geschwindigkeit des Reports hängt von der Quelle ab. Nutzen Sie standardmäßig Import, außer es gibt einen konkreten Grund, warum die Daten live sein müssen.
Was der Import-Modus macht
Der Import-Modus holt eine Kopie Ihrer Daten in das Power-BI-Modell. Nach dem Laden der Kopie gibt es keine Live-Verbindung zur Quelle mehr. Visuals lesen aus dem eigenen komprimierten In-Memory-Speicher von Power BI. Deshalb sind Import-Reports meist die schnellsten in der Bedienung. Der Preis: Die Daten veralten zwischen den Aktualisierungen, Sie brauchen also vor jeder Nutzung eine geplante oder manuelle Aktualisierung.
Was DirectQuery macht
DirectQuery hält keine Kopie der Daten in Power BI. Jeder Filter, jede Slicer-Änderung und jeder Klick auf ein Visual schickt eine neue Abfrage an das Quellsystem. Das Ergebnis wird dort berechnet und nicht vorab in Power BI verarbeitet. So bleibt der Report ohne Aktualisierungsplan aktuell, dafür hängt jede Interaktion von der Performance der Quelldatenbank ab.
Standardmäßig liefert ein DirectQuery-Visual höchstens 1.000.000 Zeilen pro Abfrage. Würde das Ergebnis eines Visuals diese Grenze überschreiten, zeigt es eine Warnung statt des vollen Ergebnisses. DirectQuery-Reports auf sehr großen Tabellen brauchen deshalb meist Aggregation oder Filter im Visual, statt sich auf die Rohtabelle zu verlassen.
Import vs. DirectQuery
Faktor | Import | DirectQuery |
|---|---|---|
Aktualität der Daten | Stand der letzten Aktualisierung | Live, jede Interaktion fragt die Quelle ab |
Geschwindigkeit des Reports | Schnell, die Daten liegen im Arbeitsspeicher | Hängt vom Quellsystem und vom Netzwerk ab |
Größe des Datensatzes | Begrenzt durch den Modellspeicher | Nicht in Power BI gespeichert, daher sind sehr große Quellen möglich |
DAX und Modellierung | Volle Unterstützung für Measures, berechnete Spalten und Transformationen | Mehrere DAX-Funktionen und berechnete Spalten sind eingeschränkt |
Aktualisierung nötig | Ja, geplant oder manuell | Nein |
Zeilengrenze pro Abfrage | Keine über die Modellgröße hinaus | Standardmäßig 1.000.000 Zeilen |
Wann Sie welchen Modus wählen
Wählen Sie Import, wenn der Report eine geplante Aktualisierung verträgt, komplexes DAX oder aufwendige Transformationen braucht und die Quelldaten in die Speichergrenzen Ihrer Kapazität passen. Das ist für die meisten Reports der richtige Standard.
Wählen Sie DirectQuery, wenn sich die Quelle minütlich ändert und der Report das ohne Aktualisierung zeigen muss, etwa bei einem operativen Dashboard auf einem Live-Bestellsystem, oder wenn die Quelltabelle zu groß zum Importieren ist.
Kombinieren Sie beides mit einem zusammengesetzten Modell. Halten Sie kleine, sich langsam ändernde Dimensionstabellen wie Customer oder Product im Import-Modus und binden Sie eine große, sich schnell ändernde Faktentabelle per DirectQuery an. So gleichen Sie Geschwindigkeit und Aktualität aus, statt dem ganzen Modell einen Modus aufzuzwingen.
Direct Lake, ein dritter Modus in Microsoft Fabric
Microsoft Fabric bringt einen Speichermodus namens Direct Lake für Semantic Models auf Basis eines Fabric-Lakehouse oder -Warehouse. Er liest Parquet-Dateien direkt aus OneLake, ohne eine Kopie zu importieren und ohne bei jeder Interaktion eine Abfrage an eine Quelldatenbank zu schicken.
Er liegt zwischen den beiden anderen Modi: fast die Geschwindigkeit von Import, mit Daten, die den Stand im Lakehouse zeigen, ohne Aktualisierungsschritt. Er gilt nur für Quellen in Fabric und ersetzt deshalb weder Import noch DirectQuery bei einem Modell auf Excel-Dateien oder einer lokalen Datenbank.
Die Modellierung zählt in beiden Fällen
Welchen Modus Sie auch wählen: Die Form Ihres Modells beeinflusst die Performance. Ein Sternschema macht Import- und DirectQuery-Reports schneller als eine flache, denormalisierte Tabelle. Siehe unseren Leitfaden zu Sternschema vs. Snowflake Schema. Wenn Sie große Faktentabellen importieren, hält die inkrementelle Aktualisierung die Aktualisierungszeiten niedrig, weil sie nur die geänderten Zeilen neu lädt. Und wenn sich ein Report unabhängig vom Modus schon langsam anfühlt, zeigt unser Leitfaden zur Fehlersuche, wie Sie den eigentlichen Engpass finden, bevor Sie überhaupt den Speichermodus ändern. Unser Leitfaden zur Performance-Optimierung geht tiefer darauf ein, wie Sie beheben, was Sie finden.
FAQs
Was ist schneller: Import oder DirectQuery?
Import, in fast jedem Fall, weil Visuals aus Daten lesen, die schon im Arbeitsspeicher liegen, und nicht auf eine Abfrage an die Quelle warten. Die Geschwindigkeit von DirectQuery hängt ganz davon ab, wie gut die Quelle abgestimmt ist. Ein gut indiziertes Warehouse unter geringer Last kann sich fast wie Import anfühlen, eine ausgelastete oder schlecht indizierte Quelle fühlt sich bei jedem Klick langsam an.
Kann man DAX in DirectQuery nutzen?
Ja, aber manche DAX-Funktionen und berechnete Spalten sind eingeschränkt oder nicht verfügbar, besonders Funktionen, die ein vollständiges lokales Durchsuchen der Tabelle verlangen würden. Der Import-Modus unterstützt den gesamten DAX-Umfang. Prüfen Sie die Dokumentation einer bestimmten Funktion, wenn Sie nicht sicher sind, ob sie in DirectQuery funktioniert, bevor Sie darauf aufbauen.
Quellen
DirectQuery in Power BI - Microsoft Learn
Direct Lake overview - Microsoft Learn
