Kontakt

Nutzen Sie dieses Kontaktformular oder schreiben Sie mir direkt per E-Mail.

Team von Finanzexperten, die auf dem Computerbildschirm ein Dashboard für Geschäftsanalytik (BA) oder Intelligence (BI) diskutieren, in dem die Umsatzdaten und Betriebsdaten sowie die wichtigsten Leistungsindikatoren (KPI) dargestellt werden

Power BI – Daten auf lückenlose Zeiträume prüfen

  • Ausführliche Erläuterungen
  • Power BI-Datei kostenfrei herunterladen
  • DAX-Funktionen einfach erklärt
Jan Trummel - Coach für  Excel und  Power BI

Jan Trummel hat mehr als 800 Seminare zu den Themen Power BI, Datenbanken und Excel durchgeführt.

Ein Leser hat mir über meinen Frage-Service folgende Frage zukommen lassen:

Kann man mit einer DAX-Lösung Daten auf lückenlose Zeiträume prüfen?
Als Beispiel:
Wurden durch einen Filter die Monate Februar, März und April ausgewählt, dann wäre dieser Zeitraum ohne Unterbrechung und ich bräuchte ein TRUE.
Wären dagegen die Zeiträume Juni und August ausgewählt, bekomme ich ein FALSE.
Über eine Lösung würde ich mich sehr freuen

Das Measure

Ja das geht. Ich zeige nun des Measure, mit welchem Sie auf lückenlose Zeiträume prüfen können. Anschließend werde ich es ausführlich erklären. Weiter unten können Sie den Bericht auch direkt im Browser testen und die Datei herunterladen.

Lückenloser Zeitraum = 
VAR vZeitraum_Ausgewaehlt =
VALUES(Kalender[Datum])
VAR vZeitraum_Serie =
GENERATESERIES(MIN(Kalender[Datum]), MAX(Kalender[Datum]), 1)
RETURN
IF(
COUNTROWS(EXCEPT(vZeitraum_Serie, vZeitraum_Ausgewaehlt)) = 0,
true,
false
)

Die Idee

Wir vergleichen die Datumsangaben im aktuellen Filterkontext mit einer lückenlosen Serie von Datumsangaben, die wir basierend auf dem kleinsten und dem größten Datum erzeugen.

Der ausgewählte Zeitraum, der geprüft werden soll

VAR vZeitraum_Ausgewaehlt = 
VALUES(Kalender[Datum])

Die Funktion VALUES erzeugt eine einspaltige Tabelle, welche alle Datumsangaben beinhaltet, die im Berichtsfilter enthalten sind.

Die lückenlose Serie für den Vergleich:

VAR vZeitraum_Serie = 
GENERATESERIES(MIN(Kalender[Datum]), MAX(Kalender[Datum]), 1)

Mit der Funktion GENERATESERIES kann ich eine Serie von Datumsangaben erzeugen. MIN stellt mir dafür das kleinste und MAX das größte Datum zur Verfügung. Mit der "1" im 3. Argument weise ich die Funktion an, die Datumsangaben in der Serie jeweils um das Inkrement 1 zu erhöhen.

Die folgende Grafik erklärt an einem Beispiel, wie GENERATESERIES eine Serie von Datumsangaben erzeugt:

In einem grünen Kasten steht eine DAX-Anweisung mit GENERATESERIES. Daneben steht die Tabelle mit der erzeugten Serie von Datumsangaben.
In diesem Beispiel erzeuge ich mit GENERATESERIES eine Serie von Datumsangaben vom 1. bis zum 10. Mai 2024.

Der Vergleich der beiden Zeiträume:

IF(
COUNTROWS(EXCEPT(vZeitraum_Serie, vZeitraum_Ausgewaehlt)) = 0,
true,
false
)

Mit EXCEPT bilde ich die Differenzmenge. D. h., ich entferne aus der Serie alle Datumsangaben, die im gewählten Zeitraum enthalten sind. Sollte dieser lückenlos sein, dann muss er genauso viele Datumsangaben enthalten, wie die Serie. Die Differenzmenge ist dann also leer.

Die folgende Grafik beschreibt, was eine Differenzmenge ist:

Zu sehen sind 2 Tabelle sowie eine Tabelle mit der Differenzmenge.
In diesem Beispiel sind in der Differenzmenge nur noch die Werte "A" und "B" aus der 1. Tabelle enthalten.

Die Funktion COUNTROWS zählt die Zeilen in der von EXCEPT zurückgegebenen Tabelle. Ist das Ergebnis 0, dann ist der gewählte Zeitraum lückenlos. Im anderen Fall, wenn also noch Datumsangaben der Serie „übrig sind“, dann ist der Zeitraum nicht lückenlos.

Ausführliche Erklärungen

Beispiel 1: Gewählt ist Mai 2024 - Identische Zeiträume

Wähle ich den Mai 2024, dann sind der ausgewählte Zeitraum und die Serie gleich.

In jeweils einem Datenschnitt in Power BI sind das Jahr 2024 und der Monat Mai ausgewählt. Ein Textkasten zeigt, dass der gewählte Zeitraum und die Serie identisch sind.
Wenn ich den Mai 2024 wähle, sind der gewählte Zeitraum und die Serie identisch.

In Power BI habe ich jeweils einmal die gewählten Datumsangaben (grüner Kasten) und die Datumsangaben in der Serie (grauer Kasten) ausgegeben:

In jeweils einem Datenschnitt in Power BI sind das Jahr 2024 und der Monat Mai ausgewählt. In 2 Karten-Visualisierungen sehen wir die Datumsangaben des gewählten Zeitraums und die der Serie. Beide sind identisch.
Die Datumsangaben sind identisch. Der gewählte Zeitraum ist also lückenlos.

Beispiel 2: Gewählt sind Mai und Juni 2024 - Identische Zeiträume

Nun wähle ich die Monate Mai und Juni im Jahr 2024. Auch hier sind die beiden Zeiträume identisch, da der Juni direkt auf den Mai folgt.

In jeweils einem Datenschnitt in Power BI sind das Jahr 2024 und die Monate Mai und Juni ausgewählt. Ein Textkasten zeigt, dass der gewählte Zeitraum und die Serie auch hier identisch sind.
Wenn ich den Mai und den Juni 2024 wähle, sind der gewählte Zeitraum und die Serie auch identisch.

Im Bericht sehen wir, dass auch hier die beiden Zeiträume identisch sind.

In jeweils einem Datenschnitt in Power BI sind das Jahr 2024 und die Monate Mai und Juni ausgewählt. In 2 Karten-Visualisierungen sehen wir die Datumsangaben des gewählten Zeitraums und die der Serie. Beide sind auch hier identisch.
Die Datumsangaben sind ebenfalls identisch.

Beispiel 3: Gewählt sind Mai und Oktober 2024 - Nicht-identische Zeiträume

Nun wähle ich die Monate Mai und Oktober 2024. Dieses Mal sind die beiden Zeiträume nicht mehr identisch. Der gewählte Zeitraum beinhaltet tatsächlich nur die Tage aus diesen beiden Monaten. Die Serie umfasst dagegen lückenlos alle Datumsangaben von Mai bis Oktober.

In jeweils einem Datenschnitt in Power BI sind das Jahr 2024 und die Monate Mai und Oktober ausgewählt. Ein Textkasten zeigt, dass der gewählte Zeitraum und die Serie hier nicht mehr identisch sind.
Wenn ich den Mai und den Oktober 2024 wähle, sind der gewählte Zeitraum und die Serie nicht mehr identisch.

Im Bericht sehen Sie dies noch deutlicher:

In jeweils einem Datenschnitt in Power BI sind das Jahr 2024 und die Monate Mai und Oktober ausgewählt. In 2 Karten-Visualisierungen sehen wir die Datumsangaben des gewählten Zeitraums und die der Serie. Beide sind nicht mehr identisch.
Die Datumsangaben sind nun nicht mehr identisch.

Beispiel 4: Gewählt ist nur der Mai - Nicht-identische Zeiträume

Ich möchte zum Abschluss noch einen Sonderfall vorstellen. Wähle ich nur den Mai, dann sind im gewählten Zeitraum alle Datumsangaben aus Mai 2023 und Mai 2024 enthalten. Die Serie enthält jedoch fortlaufend alle Datumsangaben von Mai 2023 bis Mai 2024. Auch diesen Fall wird das Measure also als nicht lückenlosen Zeitraum identifizieren (was er ja auch ist).

Im Datenschnitt in Power BI ist nur der Mai ausgewählt. Im Datenschnitt für das Jahr ist nichts gewählt. Der Textkasten zeigt, dass auch hier die gewählten Zeiträume nicht identisch sind.
Ist nur der Mai gewählt, dann ist der Zeitraum ebenfalls nicht lückenlos

Im Bericht sehen Sie wieder deutlich, dass der ausgewählte Zeitraum und die lückenlose Serie nicht identisch sind:

Im Datenschnitt in Power BI ist nur der Mai ausgewählt. Im Datenschnitt für das Jahr ist nichts gewählt. die beiden Karten-Visualisierungen zeigen auch hier deutlich, dass der gewählte Zeitraum nicht lückenlos ist.
Auch hier sind die Zeiträume nicht identisch

Probieren Sie es selbst!

Hier ist der Power BI-Bericht, den Sie nun direkt selbst testen können:

Den Bericht können Sie auch kostenfrei herunterladen: