DAX und Datenmodelle

Inkrementelle Aktualisierung in Power BI einrichten

Inkrementelle Aktualisierung in Power BI einrichten: Parameter RangeStart und RangeEnd, Filterschritt, Richtlinie und die Grenzen vor dem Veröffentlichen.

Sajagan Thirugnanam

·

Aktualisiert

Mit der inkrementellen Aktualisierung lädt der Power-BI-Service nur den jüngsten Ausschnitt einer großen Tabelle neu, etwa die letzten Tage, und lässt ältere Daten unverändert. Sie richten sie in Power BI Desktop ein: Sie legen zwei Parameter vom Typ Datum/Uhrzeit mit den Namen RangeStart und RangeEnd an, filtern die Datumsspalte der Tabelle damit und definieren eine Aktualisierungsrichtlinie für die Tabelle. Nach dem Veröffentlichen teilt der Service die Tabelle in Partitionen und aktualisiert nur die jüngsten.

Warum inkrementelle Aktualisierung nutzen

Eine normale Aktualisierung lädt jede Zeile jeder Tabelle neu. Bei einer Faktentabelle mit Jahren an Historie lädt sie dabei meist Daten neu, die sich nicht geändert haben. Die inkrementelle Aktualisierung ändert das:

  • Aktualisierungen werden schneller fertig, weil nur die jüngsten Partitionen abgefragt werden.

  • Die Quelldatenbank hat bei jeder Aktualisierung weniger Arbeit.

  • Aktualisierungen laufen seltener in das Zeitlimit.

  • Das Modell kann mehr Historie halten, ohne dass jede Aktualisierung länger dauert.

Die geplante Aktualisierung bleibt ein Zeitplan. Die inkrementelle Aktualisierung macht jeden Lauf günstiger. Sie macht die Daten nicht zu Echtzeitdaten, es sei denn, Sie ergänzen die unten beschriebene optionale DirectQuery-Partition.

Voraussetzungen für die inkrementelle Aktualisierung

  • Eine Datumsspalte zum Filtern. Die Tabelle braucht eine Spalte vom Typ Datum/Uhrzeit oder einen ganzzahligen Datumsschlüssel im Format yyyymmdd.

  • Zwei Parameter mit exakten Namen.RangeStart und RangeEnd sind reserviert und beachten die Groß- und Kleinschreibung. Beide müssen den Typ Datum/Uhrzeit haben.

  • Eine Quelle, die nach Datum filtern kann. Relationale Quellen wie SQL Server, Azure SQL und Azure Synapse funktionieren am besten. Andere Quellen können funktionieren, wenn sich der Datumsfilter an sie weitergeben lässt.

  • Query Folding für den Filterschritt. Der Filter sollte in der Quelle laufen. Wird er nicht gefaltet, lädt Power BI jede Zeile herunter und filtert lokal. Damit entfällt der Nutzen.

  • Eine Quelle pro Tabelle. Alle Partitionen der Tabelle müssen dieselbe Datenquelle abfragen.

Die inkrementelle Aktualisierung funktioniert mit Power BI Pro. Die DirectQuery-Partition für Echtzeitdaten braucht Premium, Premium Per User oder Embedded. Was DirectQuery ändert, zeigt unser Vergleich von Import und DirectQuery.

Schritt-für-Schritt-Anleitung: inkrementelle Aktualisierung einrichten

Wählen Sie vorab die Tabelle (meist Ihre größte Faktentabelle) und die Datumsspalte, die entscheidet, welche Zeilen neu sind. Typisch ist ein Bestelldatum oder Buchungsdatum.

Schritt 1

Wählen Sie in Power BI Desktop Daten transformieren, um den Power Query Editor zu öffnen. Wählen Sie auf der Registerkarte Start die Option Parameter verwalten > Neuer Parameter.

Menüband Start des Power Query Editors mit geöffnetem Menü Parameter verwalten und hervorgehobenem Neuer Parameter

Power Query Editor > Start > Parameter verwalten > Neuer Parameter.

Schritt 2

Legen Sie einen Parameter namens RangeStart an, setzen Sie den Typ auf Datum/Uhrzeit und geben Sie ihm einen aktuellen Wert. Legen Sie dann RangeEnd auf dieselbe Weise an.

Dialog Parameter verwalten mit einem Parameter namens RangeStart, Erforderlich aktiviert, Typ Datum/Uhrzeit und einem eingetragenen aktuellen Wert

Der Dialog Parameter verwalten. Beide Parameter müssen Datum/Uhrzeit sein, mit genau diesen Namen.

Wählen Sie Werte, die einen kleinen, jüngsten Zeitraum abdecken, zum Beispiel zwei Tage. In Desktop begrenzen sie nur, wie viele Daten beim Bauen geladen werden. Nach dem Veröffentlichen ersetzt der Service sie durch die Werte, die die Richtlinie braucht.

Schritt 3

Filtern Sie die Datumsspalte der Tabelle mit den beiden Parametern. Nutzen Sie „größer oder gleich“ für RangeStart und „strikt kleiner als“ für RangeEnd. Wären beide Grenzen eingeschlossen, würde eine Zeile genau auf der Grenze in zwei Partitionen geladen.

Bei einer Datum/Uhrzeit-Spalte sieht der Schritt so aus:

let
    Source = Sql.Database("myserver.database.windows.net", "SalesDW"),
    Sales = Source{[Schema = "dbo", Item = "FactSales"]}[Data],
    FilteredRows = Table.SelectRows(Sales, each [OrderDate] >= RangeStart and [OrderDate] < RangeEnd)
in
    FilteredRows

Ist die Datumsspalte ein ganzzahliger Schlüssel wie 20260115, wandeln Sie die Parameter in dieselbe Form um:

FilteredRows = Table.SelectRows(
    Sales,
    each [OrderDateKey] >= Int32.From(DateTime.ToText(RangeStart, [Format = "yyyyMMdd"]))
        and [OrderDateKey] < Int32.From(DateTime.ToText(RangeEnd, [Format = "yyyyMMdd"]))
)

Setzen Sie den Filter so früh wie möglich, direkt nach dem Quellschritt, damit er in die Quellabfrage gefaltet wird. Wählen Sie Schließen & übernehmen.

Schritt 4

Klicken Sie in der Report-Ansicht oder Tabellenansicht im Bereich Daten mit der rechten Maustaste auf die Tabelle und wählen Sie Inkrementelle Aktualisierung. Der Dialog Inkrementelle Aktualisierung und Echtzeitdaten öffnet sich.

Dialog Inkrementelle Aktualisierung und Echtzeitdaten für FactInternetSales, Archivierung von 5 Jahren und inkrementelle Aktualisierung von 3 Tagen, mit aktivierter DirectQuery-Echtzeitoption

Der Dialog Inkrementelle Aktualisierung und Echtzeitdaten. Der Balken unten zeigt den archivierten, den inkrementellen und den Echtzeit-Zeitraum.

Legen Sie die Richtlinie fest:

  1. Aktivieren Sie Diese Tabelle inkrementell aktualisieren.

  2. Setzen Sie Daten archivieren ab: wie viel Historie erhalten bleibt. Im Beispiel 5 Jahre.

  3. Setzen Sie Daten inkrementell aktualisieren ab: der Zeitraum, der bei jeder Aktualisierung neu geladen wird. Im Beispiel 3 Tage.

  4. Aktivieren Sie optional Nur vollständige Tage aktualisieren. Das lässt den aktuellen, unvollständigen Tag aus.

  5. Aktivieren Sie optional Datenänderungen erkennen und wählen Sie eine Spalte mit dem Änderungszeitpunkt. Power BI überspringt dann Zeiträume, in denen sich der Höchstwert dieser Spalte nicht geändert hat.

  6. Aktivieren Sie optional Neueste Daten in Echtzeit mit DirectQuery abrufen. Das ergänzt nach dem Aktualisierungszeitraum eine DirectQuery-Partition und braucht Premium, PPU oder Embedded.

Wählen Sie Anwenden und veröffentlichen Sie den Report dann im Power-BI-Service.

Schritt 5

Öffnen Sie im Service die Einstellungen des Semantic Models und richten Sie die Geplante Aktualisierung ein. Starten Sie die erste Aktualisierung manuell, damit Sie sie beobachten können. Sie lädt die gesamte Historie und legt die Partitionen an, dauert also deutlich länger als spätere Aktualisierungen.

Einstellungen der geplanten Aktualisierung im Power-BI-Service mit aktivierter Aktualisierung, täglicher Häufigkeit, einer Zeitzone, der Aktualisierungszeit 7:00 Uhr und aktivierten E-Mails bei Fehlern

Einstellungen des Semantic Models > Geplante Aktualisierung im Power-BI-Service.

Die Richtlinie nutzt das Datum zum Zeitpunkt der Aktualisierung, in UTC, sofern Sie für die Aktualisierung keine Zeitzone festlegen. Damit Leser sehen, wann die letzte Aktualisierung lief, ergänzen Sie ein Datum der letzten Aktualisierung im Report.

Einschränkungen der inkrementellen Aktualisierung in Power BI

  • Nach dem Veröffentlichen können Sie die .pbix-Datei nicht herunterladen. Halten Sie die Desktop-Datei unter Versionskontrolle.

  • Erneutes Veröffentlichen aus Desktop ersetzt die Partitionen. Die nächste Aktualisierung lädt die gesamte Historie neu. Auf Premium- oder Fabric-Kapazität können Tools wie das ALM Toolkit Metadatenänderungen ohne dieses Neuladen bereitstellen.

  • Zeitlimits für Aktualisierungen gelten weiter. Eine Aktualisierung auf gemeinsamer Kapazität (Pro) endet nach zwei Stunden, auf Premium nach fünf Stunden. Die inkrementelle Aktualisierung macht es unwahrscheinlicher, das Limit zu erreichen, hebt es aber nicht auf.

  • Quellen ohne Query Folding sind langsam. Kann der Datumsfilter nicht in der Quelle laufen, wird bei jeder Aktualisierung jede Zeile heruntergeladen.

  • Dieselben Parameter für jede Tabelle. Haben mehrere Tabellen Richtlinien, nutzen alle dieselben RangeStart und RangeEnd, auch wenn jede eigene Zeiträume haben kann.

Sind Aktualisierungen danach immer noch langsam, behandelt unser Leitfaden zur Fehlersuche bei langsamen Reports die weiteren Ursachen. Dataflows unterstützen die inkrementelle Aktualisierung ebenfalls. Lesen Sie dazu wie und wann Sie Dataflows nutzen.

FAQs

Was ist der Unterschied zwischen vollständiger und inkrementeller Aktualisierung in Power BI?

Eine vollständige Aktualisierung lädt jede Zeile jeder Tabelle im Modell neu. Eine inkrementelle Aktualisierung lädt nur die Partitionen im Aktualisierungszeitraum neu, etwa die letzten drei Tage, und lässt ältere Partitionen unberührt. Die erste Aktualisierung nach dem Veröffentlichen ist faktisch ein vollständiges Laden, weil sie alle Partitionen anlegt.

Wie viele Aktualisierungen pro Tag sind in Power BI erlaubt?

Ein Semantic Model auf gemeinsamer Kapazität, die Power BI Pro nutzt, kann bis zu 8 geplante Aktualisierungen pro Tag haben. Auf Premium, Premium Per User oder Fabric-Kapazität können Sie bis zu 48 planen. Aktualisierungen, die Sie manuell mit Jetzt aktualisieren starten, zählen nicht zum Limit von 8.

Quellen

Mit der inkrementellen Aktualisierung lädt der Power-BI-Service nur den jüngsten Ausschnitt einer großen Tabelle neu, etwa die letzten Tage, und lässt ältere Daten unverändert. Sie richten sie in Power BI Desktop ein: Sie legen zwei Parameter vom Typ Datum/Uhrzeit mit den Namen RangeStart und RangeEnd an, filtern die Datumsspalte der Tabelle damit und definieren eine Aktualisierungsrichtlinie für die Tabelle. Nach dem Veröffentlichen teilt der Service die Tabelle in Partitionen und aktualisiert nur die jüngsten.

Warum inkrementelle Aktualisierung nutzen

Eine normale Aktualisierung lädt jede Zeile jeder Tabelle neu. Bei einer Faktentabelle mit Jahren an Historie lädt sie dabei meist Daten neu, die sich nicht geändert haben. Die inkrementelle Aktualisierung ändert das:

  • Aktualisierungen werden schneller fertig, weil nur die jüngsten Partitionen abgefragt werden.

  • Die Quelldatenbank hat bei jeder Aktualisierung weniger Arbeit.

  • Aktualisierungen laufen seltener in das Zeitlimit.

  • Das Modell kann mehr Historie halten, ohne dass jede Aktualisierung länger dauert.

Die geplante Aktualisierung bleibt ein Zeitplan. Die inkrementelle Aktualisierung macht jeden Lauf günstiger. Sie macht die Daten nicht zu Echtzeitdaten, es sei denn, Sie ergänzen die unten beschriebene optionale DirectQuery-Partition.

Voraussetzungen für die inkrementelle Aktualisierung

  • Eine Datumsspalte zum Filtern. Die Tabelle braucht eine Spalte vom Typ Datum/Uhrzeit oder einen ganzzahligen Datumsschlüssel im Format yyyymmdd.

  • Zwei Parameter mit exakten Namen.RangeStart und RangeEnd sind reserviert und beachten die Groß- und Kleinschreibung. Beide müssen den Typ Datum/Uhrzeit haben.

  • Eine Quelle, die nach Datum filtern kann. Relationale Quellen wie SQL Server, Azure SQL und Azure Synapse funktionieren am besten. Andere Quellen können funktionieren, wenn sich der Datumsfilter an sie weitergeben lässt.

  • Query Folding für den Filterschritt. Der Filter sollte in der Quelle laufen. Wird er nicht gefaltet, lädt Power BI jede Zeile herunter und filtert lokal. Damit entfällt der Nutzen.

  • Eine Quelle pro Tabelle. Alle Partitionen der Tabelle müssen dieselbe Datenquelle abfragen.

Die inkrementelle Aktualisierung funktioniert mit Power BI Pro. Die DirectQuery-Partition für Echtzeitdaten braucht Premium, Premium Per User oder Embedded. Was DirectQuery ändert, zeigt unser Vergleich von Import und DirectQuery.

Schritt-für-Schritt-Anleitung: inkrementelle Aktualisierung einrichten

Wählen Sie vorab die Tabelle (meist Ihre größte Faktentabelle) und die Datumsspalte, die entscheidet, welche Zeilen neu sind. Typisch ist ein Bestelldatum oder Buchungsdatum.

Schritt 1

Wählen Sie in Power BI Desktop Daten transformieren, um den Power Query Editor zu öffnen. Wählen Sie auf der Registerkarte Start die Option Parameter verwalten > Neuer Parameter.

Menüband Start des Power Query Editors mit geöffnetem Menü Parameter verwalten und hervorgehobenem Neuer Parameter

Power Query Editor > Start > Parameter verwalten > Neuer Parameter.

Schritt 2

Legen Sie einen Parameter namens RangeStart an, setzen Sie den Typ auf Datum/Uhrzeit und geben Sie ihm einen aktuellen Wert. Legen Sie dann RangeEnd auf dieselbe Weise an.

Dialog Parameter verwalten mit einem Parameter namens RangeStart, Erforderlich aktiviert, Typ Datum/Uhrzeit und einem eingetragenen aktuellen Wert

Der Dialog Parameter verwalten. Beide Parameter müssen Datum/Uhrzeit sein, mit genau diesen Namen.

Wählen Sie Werte, die einen kleinen, jüngsten Zeitraum abdecken, zum Beispiel zwei Tage. In Desktop begrenzen sie nur, wie viele Daten beim Bauen geladen werden. Nach dem Veröffentlichen ersetzt der Service sie durch die Werte, die die Richtlinie braucht.

Schritt 3

Filtern Sie die Datumsspalte der Tabelle mit den beiden Parametern. Nutzen Sie „größer oder gleich“ für RangeStart und „strikt kleiner als“ für RangeEnd. Wären beide Grenzen eingeschlossen, würde eine Zeile genau auf der Grenze in zwei Partitionen geladen.

Bei einer Datum/Uhrzeit-Spalte sieht der Schritt so aus:

let
    Source = Sql.Database("myserver.database.windows.net", "SalesDW"),
    Sales = Source{[Schema = "dbo", Item = "FactSales"]}[Data],
    FilteredRows = Table.SelectRows(Sales, each [OrderDate] >= RangeStart and [OrderDate] < RangeEnd)
in
    FilteredRows

Ist die Datumsspalte ein ganzzahliger Schlüssel wie 20260115, wandeln Sie die Parameter in dieselbe Form um:

FilteredRows = Table.SelectRows(
    Sales,
    each [OrderDateKey] >= Int32.From(DateTime.ToText(RangeStart, [Format = "yyyyMMdd"]))
        and [OrderDateKey] < Int32.From(DateTime.ToText(RangeEnd, [Format = "yyyyMMdd"]))
)

Setzen Sie den Filter so früh wie möglich, direkt nach dem Quellschritt, damit er in die Quellabfrage gefaltet wird. Wählen Sie Schließen & übernehmen.

Schritt 4

Klicken Sie in der Report-Ansicht oder Tabellenansicht im Bereich Daten mit der rechten Maustaste auf die Tabelle und wählen Sie Inkrementelle Aktualisierung. Der Dialog Inkrementelle Aktualisierung und Echtzeitdaten öffnet sich.

Dialog Inkrementelle Aktualisierung und Echtzeitdaten für FactInternetSales, Archivierung von 5 Jahren und inkrementelle Aktualisierung von 3 Tagen, mit aktivierter DirectQuery-Echtzeitoption

Der Dialog Inkrementelle Aktualisierung und Echtzeitdaten. Der Balken unten zeigt den archivierten, den inkrementellen und den Echtzeit-Zeitraum.

Legen Sie die Richtlinie fest:

  1. Aktivieren Sie Diese Tabelle inkrementell aktualisieren.

  2. Setzen Sie Daten archivieren ab: wie viel Historie erhalten bleibt. Im Beispiel 5 Jahre.

  3. Setzen Sie Daten inkrementell aktualisieren ab: der Zeitraum, der bei jeder Aktualisierung neu geladen wird. Im Beispiel 3 Tage.

  4. Aktivieren Sie optional Nur vollständige Tage aktualisieren. Das lässt den aktuellen, unvollständigen Tag aus.

  5. Aktivieren Sie optional Datenänderungen erkennen und wählen Sie eine Spalte mit dem Änderungszeitpunkt. Power BI überspringt dann Zeiträume, in denen sich der Höchstwert dieser Spalte nicht geändert hat.

  6. Aktivieren Sie optional Neueste Daten in Echtzeit mit DirectQuery abrufen. Das ergänzt nach dem Aktualisierungszeitraum eine DirectQuery-Partition und braucht Premium, PPU oder Embedded.

Wählen Sie Anwenden und veröffentlichen Sie den Report dann im Power-BI-Service.

Schritt 5

Öffnen Sie im Service die Einstellungen des Semantic Models und richten Sie die Geplante Aktualisierung ein. Starten Sie die erste Aktualisierung manuell, damit Sie sie beobachten können. Sie lädt die gesamte Historie und legt die Partitionen an, dauert also deutlich länger als spätere Aktualisierungen.

Einstellungen der geplanten Aktualisierung im Power-BI-Service mit aktivierter Aktualisierung, täglicher Häufigkeit, einer Zeitzone, der Aktualisierungszeit 7:00 Uhr und aktivierten E-Mails bei Fehlern

Einstellungen des Semantic Models > Geplante Aktualisierung im Power-BI-Service.

Die Richtlinie nutzt das Datum zum Zeitpunkt der Aktualisierung, in UTC, sofern Sie für die Aktualisierung keine Zeitzone festlegen. Damit Leser sehen, wann die letzte Aktualisierung lief, ergänzen Sie ein Datum der letzten Aktualisierung im Report.

Einschränkungen der inkrementellen Aktualisierung in Power BI

  • Nach dem Veröffentlichen können Sie die .pbix-Datei nicht herunterladen. Halten Sie die Desktop-Datei unter Versionskontrolle.

  • Erneutes Veröffentlichen aus Desktop ersetzt die Partitionen. Die nächste Aktualisierung lädt die gesamte Historie neu. Auf Premium- oder Fabric-Kapazität können Tools wie das ALM Toolkit Metadatenänderungen ohne dieses Neuladen bereitstellen.

  • Zeitlimits für Aktualisierungen gelten weiter. Eine Aktualisierung auf gemeinsamer Kapazität (Pro) endet nach zwei Stunden, auf Premium nach fünf Stunden. Die inkrementelle Aktualisierung macht es unwahrscheinlicher, das Limit zu erreichen, hebt es aber nicht auf.

  • Quellen ohne Query Folding sind langsam. Kann der Datumsfilter nicht in der Quelle laufen, wird bei jeder Aktualisierung jede Zeile heruntergeladen.

  • Dieselben Parameter für jede Tabelle. Haben mehrere Tabellen Richtlinien, nutzen alle dieselben RangeStart und RangeEnd, auch wenn jede eigene Zeiträume haben kann.

Sind Aktualisierungen danach immer noch langsam, behandelt unser Leitfaden zur Fehlersuche bei langsamen Reports die weiteren Ursachen. Dataflows unterstützen die inkrementelle Aktualisierung ebenfalls. Lesen Sie dazu wie und wann Sie Dataflows nutzen.

FAQs

Was ist der Unterschied zwischen vollständiger und inkrementeller Aktualisierung in Power BI?

Eine vollständige Aktualisierung lädt jede Zeile jeder Tabelle im Modell neu. Eine inkrementelle Aktualisierung lädt nur die Partitionen im Aktualisierungszeitraum neu, etwa die letzten drei Tage, und lässt ältere Partitionen unberührt. Die erste Aktualisierung nach dem Veröffentlichen ist faktisch ein vollständiges Laden, weil sie alle Partitionen anlegt.

Wie viele Aktualisierungen pro Tag sind in Power BI erlaubt?

Ein Semantic Model auf gemeinsamer Kapazität, die Power BI Pro nutzt, kann bis zu 8 geplante Aktualisierungen pro Tag haben. Auf Premium, Premium Per User oder Fabric-Kapazität können Sie bis zu 48 planen. Aktualisierungen, die Sie manuell mit Jetzt aktualisieren starten, zählen nicht zum Limit von 8.

Quellen

Zeigen Sie uns Ihren Report, dem niemand traut.

1 · Ein Gespräch von 30 Minuten.

2 · Wir sehen uns gemeinsam Ihre aktuellen Reports an.

3 · Wir sagen Ihnen, was wir tun würden.

Zeigen Sie uns Ihren Report, dem niemand traut.

1 · Ein Gespräch von 30 Minuten.

2 · Wir sehen uns gemeinsam Ihre aktuellen Reports an.

3 · Wir sagen Ihnen, was wir tun würden.

Zeigen Sie uns Ihren Report, dem niemand traut.

1 · Ein Gespräch von 30 Minuten.

2 · Wir sehen uns gemeinsam Ihre aktuellen Reports an.

3 · Wir sagen Ihnen, was wir tun würden.

CaseWhen ist eine BI-Beratung aus Berlin. Wir bauen Reporting, dem die Geschäftsführung vertraut, auf dem Microsoft-Stack: Power BI, Fabric und Azure.

Berlin, Deutschland

© CaseWhen Consulting GmbH

Deutsch

CaseWhen ist eine BI-Beratung aus Berlin. Wir bauen Reporting, dem die Geschäftsführung vertraut, auf dem Microsoft-Stack: Power BI, Fabric und Azure.

Berlin, Deutschland

© CaseWhen Consulting GmbH

Deutsch

CaseWhen ist eine BI-Beratung aus Berlin. Wir bauen Reporting, dem die Geschäftsführung vertraut, auf dem Microsoft-Stack: Power BI, Fabric und Azure.

Berlin, Deutschland

© CaseWhen Consulting GmbH

Deutsch