DATEDIFF in Power Query M Datumsdifferenzen einfach berechnen
Datumsdifferenzen sind in der Datenanalyse ein häufiges Anliegen, insbesondere bei Lieferzeiten, Projektlaufzeiten oder Altersberechnungen. Während viele Tools wie Excel eine direkte DATEDIFF-Funktion bieten, fehlt diese in Power Query M. Stattdessen kommen hier sogenannte Duration-Werte zum Einsatz, die die Zeitspannen zwischen zwei Datums- oder Zeitpunkten abbilden. Der Umgang mit diesen Durationen erfordert zwar etwas Eingewöhnung, eröffnet jedoch vielseitige Möglichkeiten für präzise Zeitdifferenzberechnungen. In diesem Beitrag erfahren Sie praxisnah, wie Sie mit Duration-Funktionen wie Duration.Days
unkompliziert Datumsdifferenzen berechnen. Zudem zeigen Beispiele, wie sich sowohl einfache Tageswerte als auch Zeiträume mit Stunden und Minuten abbilden lassen. So sind Sie bestens gerüstet, um Ihre Power Query-Abfragen mit aussagekräftigen Zeitspannen anzureichern.
Inhalt
- 1 Einführung in Datumsdifferenzen in Power Query
- 2 Verwendung von Duration.Days zur Berechnung der Differenz zwischen zwei Daten
- 3 Funktionsweise von Dauerwerten und weiteren Duration-Funktionen
- 4 Praktische Beispiele: Differenz zwischen Bestelldatum und Auftragserfüllungsdatum
- 5 Berechnung der Differenz zwischen einem Datum und dem aktuellen Tag
- 6
- 7 Tipps zum Umgang mit Datums- und Uhrzeitformaten in Power Query
- 8 Fazit
Einführung in Datumsdifferenzen in Power Query
Datumsdifferenzen zu berechnen ist eine zentrale Aufgabe in der Datenanalyse, etwa um Bearbeitungszeiten oder Intervalle zu ermitteln. In Power Query lässt sich dies bequem durchführen, allerdings ist der Umgang mit Datums- und Zeitwerten in der M-Sprache nicht immer intuitiv. Anders als in Excel gibt es keine direkte DATEDIFF-Funktion. Stattdessen arbeitet man mit sogenannten Dauerwerten (Duration), die die Zeitspanne zwischen zwei Zeitpunkten darstellen. Power Query liefert spezielle Funktionen und Datentypen, mit denen sich die Dauer in Tagen, Stunden oder sogar Sekunden berechnen lässt. Das Verständnis dieser Duration-Werte bildet die Grundlage, um präzise und flexible Datumsdifferenzen zu ermitteln – unabhängig davon, ob nur Tage oder auch Stunden und Minuten gefragt sind.
Verwendung von Duration.Days zur Berechnung der Differenz zwischen zwei Daten
Die Funktion Duration.Days
ist der einfachste Weg, um die Anzahl der Tage zwischen zwei Datumsspalten zu berechnen. Das Prinzip ist denkbar simpel: Zuerst zieht man ein Datum vom anderen ab, womit Power Query einen Duration-Wert zurückgibt. Anschließend wandelt man diesen Wert mit Duration.Days
in eine ganze Zahl um. Zum Beispiel bei einem Datensatz mit „Startdatum“ und „Enddatum“ lautet der M-Code:
Duration.Days([Enddatum] - [Startdatum])
Das Ergebnis ist eine neue Spalte mit der Differenz in Tagen. Wichtig: Beide Spalten müssen als Datum oder Datum/Uhrzeit formatiert sein, damit die Subtraktion korrekt funktioniert. So lässt sich auf Knopfdruck die Zeitspanne in Tagen schnell berechnen – ideal für Beziehungstabellen, Bestellzeitanalysen oder Projektzeitspannen.
Funktionsweise von Dauerwerten und weiteren Duration-Funktionen
Duration-Werte sind in Power Query intern als Zeitdauern im Format Tage, Stunden, Minuten, Sekunden
gespeichert. Bei einer Subtraktion zwischen zwei DateTime-Werten entsteht ein Wert vom Typ Duration, der alle Zeitkomponenten zusammenfasst. Neben Duration.Days
gibt es die Funktionen Duration.Hours
, Duration.Minutes
und Duration.Seconds
, um die Differenz auch auf kleinere Zeiteinheiten herunterzubrechen. Das ist besonders praktisch, wenn man z.B. Arbeitszeiten oder Zeitstempel mit Sekunden genau auswerten möchte.
Ein Duration-Wert lässt sich wie folgt beschreiben:
- 1 Tag = 24 Stunden
- 1 Stunde = 60 Minuten
- 1 Minute = 60 Sekunden
Wenn Sie etwa Duration.Hours([Ende]-[Start])
aufrufen, erhalten Sie die Gesamtzahl der Stunden zwischen den beiden Zeitpunkten — inklusive der kompletten Tage, in Stunden umgerechnet. Möchten Sie nur die Zeitkomponente eines Tages ermitteln, sind zusätzliche Schritte nötig.
Praktische Beispiele: Differenz zwischen Bestelldatum und Auftragserfüllungsdatum
Angenommen, Sie möchten im Power Query Editor die Zeitspanne zwischen dem Bestelldatum und dem Lieferdatum berechnen. Ihre Tabelle enthält zwei Spalten: „Bestelldatum“ und „Lieferdatum“ als Datumswerte. So erstellen Sie die Differenzspalte:
- Klicken Sie auf „Spalte hinzufügen“ → „Benutzerdefinierte Spalte“.
- Geben Sie als Formel ein:
Duration.Days([Lieferdatum] - [Bestelldatum])
- Benennen Sie die Spalte beispielsweise „Lieferzeit in Tagen“.
- Bestätigen Sie mit OK.
Power Query erstellt nun die neue Spalte, die für jede Bestellung die Anzahl der Tage bis zur Lieferung zeigt. Wichtig ist, dass die Datentypen korrekt eingestellt sind (Datum oder Datum/Uhrzeit), sonst kann die Berechnung zu Fehlern führen. Diese einfache Methode ermöglicht schnell aussagekräftige Analysen von Lieferzeiten oder Produktionsdauern.
Berechnung der Differenz zwischen einem Datum und dem aktuellen Tag
Oft will man wissen, wie viele Tage seit einem bestimmten Datum vergangen sind oder wie lange es bis heute noch dauert. Dafür holen Sie sich zunächst den aktuellen Zeitpunkt mit DateTime.LocalNow()
. Da diese Funktion ein Datum mit Uhrzeit zurückgibt, wandeln Sie sie mit Date.From()
in ein reines Datum um:
let
Heute = Date.From(DateTime.LocalNow()),
Differenz = Duration.Days(Heute - [Datum])
in
Differenz
So erhalten Sie eine Zahl, die angibt, wie viele Tage zwischen dem Wert in der Spalte „Datum“ und heute liegen. Diese dynamische Berechnung funktioniert automatisch bei jedem Aktualisieren der Abfrage. Das ist praktisch für Alter-Analysen, Verlaufswerte oder Fristüberprüfungen direkt im Power Query Editor.




Tipps zum Umgang mit Datums- und Uhrzeitformaten in Power Query
Damit Datumsdifferenzen sauber berechnet werden, ist die richtige Formatierung der Spalten entscheidend. Prüfen Sie vor der Differenzbildung stets den Datentyp der Spalten – er sollte „Datum“ oder „Datum/Uhrzeit“ sein. Formatieren Sie ganze Spalten über den Dropdown im Power Query Editor, falls nötig, und konvertieren Sie Textwerte mit Date.FromText()
.
Ein typischer Fehler entsteht, wenn Uhrzeiten fehlen oder unterschiedlich formatiert sind: Dann liefert die Subtraktion entweder falsche Ergebnisse oder einen Fehler. Achten Sie auf konsistente Quellen und validieren Sie mit Zwischenschritten. Bei Zeitstempeln ist es oft sinnvoll, nur das Datum zu extrahieren, um Tagesunterschiede zu berechnen, ohne Sekunden oder Stunden mitzurechnen.
Zusätzlich helfen Funktionen wie Time.From()
oder DateTime.ToText()
, um Daten gezielt in passende Formate zu bringen. Die klare Trennung und Umwandlung sorgt für zuverlässige, wiederholbare Ergebnisse.
Fazit
Power Query bietet mit Duration-Werten und Funktionen wie Duration.Days
eine elegante und flexible Methode zur Berechnung von Datumsdifferenzen. Ob Sie einfache Tagesdifferenzen zwischen Bestell- und Lieferdatum berechnen oder dynamisch die Zeitspanne bis zum aktuellen Tag ermitteln möchten – mit dem richtigen Umgang mit den M-Funktionen sind komplexe Datumsanalysen kein Problem mehr.
Um tiefer in das Thema einzusteigen, empfiehlt es sich, einen Blick in die offizielle Dokumentation zu Duration-Funktionen und die Community-Beiträge zu Power Query M zu werfen. Zahlreiche Tutorials und Praxisbeispiele helfen, eigene Berechnungen zu optimieren und effizient in Power BI oder Excel umzusetzen. So erweitern Sie spielerisch Ihre Datenanalysen und steigern Ihre Reporting-Qualität nachhaltig.