Skip to content

Was sind DAX-Zeitintelligenz-Funktionen in
Power BI und Excel Power Pivot?

Was sind Zeitintelligenz-Funktionen?

veröffentlicht am 21.05.2024
überprüft/ aktualisiert am 25.06.2024

Zeitintelligenz-Funktionen (eng. „time intelligence functions“) sind eine Art von DAX-Funktionen, die Daten aus Ihrem Datenmodell anhand von Zeit- beziehungsweise Datumswerten auswerten. Aber nicht nur in der Form von Monats- und Quartalszahlen, sondern bei diesen Funktionen geht es mehr um die Anzeige sowie den Vergleich von Zeiträumen.
Zum Beispiel wenn Sie den Umsatz eines Quartals im Vorjahr mit dem Umsatz des entsprechenden Quartals in diesem Jahr vergleichen wollen.

Kurz gesagt berechnen Sie einen Wert aus Ihrem Datenmodell, indem Sie ihn mit einem Datum beziehungsweise einem Zeitraum in Beziehung setzen.
Viele DAX-Zeitintelligenz-Funktionen funktionieren mehr als Bedingungen oder Filter in DAX-Formeln und weniger als eigenständige Funktionen.

Eine häufig anzutreffende Kombination von Zeitintelligenz-Funktionen ist die mit der CALCULATE-Funktion, so wie wir es in unserem Praxisbeispiel zeigen.

Downloaden Sie jetzt Ihre Dateien, um den Erklärungen zu folgen

Wir haben für unser Beispiel eine Funktion aus der langen Liste der Zeitintelligenz-Funktionen ausgewählt und erklären sie anhand zweier Beispieldateien, die zum Download für Sie bereits stehen, damit Sie die nachfolgenden Erklärungen direkt im jeweiligen Programm nachvollziehen können:

Power BI Datei downloaden


Excel Datei downloaden

Praxisbeispiel: Umsatzanalyse

In unserem Praxisbeispiel möchten wir die Abweichung des Umsatzes zum Vorjahr berechnen. Die Berechnung der Abweichung selbst benötigt keine Zeitintelligenz-Funktion, aber für die Berechnung des Vorjahresumsatzes verwenden wir die Funktion PREVIOUSYEAR.

Um den Vorjahresumsatz zu berechnen werden wir zuerst ein Measure für den Gesamtumsatz erstellen, und anschließend die DAX-Formeln für den Umsatz des jeweiligen Vorjahres und die absolute Abweichung zum jeweiligen Vorjahr. Zuletzt möchten wir mit einer weiteren DAX-Formel noch einmal die Abweichung, aber diesmal in Prozent, ausgeben.

In Abb. 1 sehen sie die Power Pivot Tabelle in Excel und in Abb. 2 das Matrix-Visual in Power BI jeweils mit den Measures aus unserem Übungsbeispiel.

Eine Excel-Pivot-Tabelle mit mehreren Spalten
Abb. 1: Die Pivot-Tabelle in Excel mit den Measures aus dem Übungsbeispiel
Ein Matrix-Visual mit mehreren Spalten in Power BI
Abb. 2: Das Matrix-Visual in Power BI mit den Measures aus dem Übungsbeispiel

Die dafür notwendigen DAX-Formeln in Power Pivot:

Gesamtumsatz:=SUM(‚Umsätze 2021-2023′[Umsatz])

Umsatz Vorjahr:=CALCULATE([Gesamtumsatz];PREVIOUSYEAR(Kalender[Datum]))

Abweichung Vorjahr:=IF([Umsatz Vorjahr]=BLANK();BLANK();[Gesamtumsatz]-[Umsatz Vorjahr])

Abweichung in %:=DIVIDE([Gesamtumsatz]-[Umsatz Vorjahr];[Umsatz Vorjahr])

Beachten Sie bitte den Doppelpunkt vor dem „=“ -Zeichen.

In Abbildung 3 werden in Power Pivot die Ergebnisse der Measures außer dem Gesamtumsatz als (leer) angezeigt, da sie kein Einzelergebnis liefern wie der Gesamtumsatz, sondern je ein Ergebnis pro Periode.

Dieselben DAX-Formeln in Power BI

Gesamtumsatz = SUM(‚Umsätze 2021-2023′[Umsatz])

Umsatz Vorjahr = CALCULATE([Gesamtumsatz], PREVIOUSYEAR(Kalender[Date]))

Abweichung Vorjahr = IF([Umsatz Vorjahr]=BLANK(),BLANK(), [Gesamtumsatz]-[Umsatz Vorjahr])

Abweichung in % = DIVIDE([Gesamtumsatz]-[Umsatz Vorjahr], [Umsatz Vorjahr])

Beachten Sie bitte hier die etwas andere Schreibweise der Funktionen. Hier wird kein Doppelpunkt geschrieben, dafür dürfen sie Leerzeichen einfügen. In unserem Fall ist auch das Format der Trennzeichen auf international eingestellt, somit sind die einzelnen Argumente durch ein Komma getrennt und nicht durch ein Semikolon.

Was gilt es beim Arbeiten mit DAX – Zeitintelligenz-Funktionen zu beachten?

Wir haben für Sie noch praxisbezogenes Vorwissen zusammengestellt, damit Sie Zeitintelligenz-Funktionen bestmöglich anwenden können. Die wichtigste Vorbedingung und somit das größte Thema ist und bleibt die Kalendertabelle. Welche können Sie benutzen, welche sollten Sie benutzen? Und welche Kalendertabelle geht auf gar keinen Fall!
Die Antwort darauf und weitere nützliche Informationen finden Sie Im nachfolgenden Absatz.

Brauchen Sie eine Kalendertabelle zum Arbeiten mit Zeitintelligenz-Funktionen?

Eine Kalendertabelle in Excel
Abb. 4: Die Kalendertabelle in Excel

Kurze Antwort:
Ja.

Etwas längere Antwort:
Grundsätzlich würden die Zeitintelligenzfunktionen auch mit der von Power BI Desktop automatisch erstellten Kalender-Hierarchie funktionieren. Eine Option, die sich glücklicherweise deaktivieren lässt.

Denn diese Hierarchie lässt sich nicht bearbeiten. Und sie kann zu unerwünschten Ergebnissen führen, wenn Sie in Ihr Datenmodell mehr als eine Tabelle mit einer Datumsspalte importieren.

Die lange Antwort:
Keinesfalls sollten Sie gänzlich ohne Kalendertabelle arbeiten, zum Beispiel nur mit der Datumsspalte Ihrer Umsatztabelle, da hiermit die Zeitintelligenz-Funktionen gar nicht funktionieren, und wenn doch, dann liefern sie falsche Ergebnisse.

Die in Power BI Desktop automatisch erstellten Kalendertabellen können von Ihnen wiederum nicht bearbeitet werden und Sie müssen aufpassen welche Datumsangaben verwendet werden. So wird eventuell aus den Geburtsdaten ihrer Kundentabelle eine eigene Kalender-Hierarchie gebildet, die Sie gar nicht benötigen. Diese Daten müssen Sie erst wieder mühsam ausfiltern.

Außerdem kann es bei komplexeren Berechnungen vorkommen, dass Sie zwei Kalendertabellen benötigen. Auch da kommen Sie mit den automatisch erstellten Tabellen nicht weiter.
Aber in den meisten Fällen finden Sie mit einer Kalendertabelle das Auslangen, und die basteln Sie am besten selbst. Ob Sie das in Excel machen oder in Power BI oder direkt mit einer DAX Funktion bleibt Ihnen überlassen.
Das jeweilige How-to würde einen eigenen Kurs rechtfertigen und hier auch den Rahmen sprengen.

Gibt es Formeln für Datum oder Uhrzeit?

Wie ein Kollege es so treffend formuliert hat:
„Zeitintelligenz-Funktionen sollten eigentlich Datumsfunktionen heißen, denn sie rechnen nicht mit Zeitangaben sondern mit Datumsangaben.“

Verwechseln Sie bitte auch nicht Zeitintelligenz-Funktionen mit den Datums- und Uhrzeitfunktionen, einer weiteren Gruppe von DAX-Funktionen. Diese haben nämlich mit Kalenderdaten und dem Darstellen von Stunden und Minuten zu tun.

Gibt es „Kalenderfunktionen“?

Eine Kalendertabelle in der Tabellenansicht in Power BI
Abb. 5: Die Kalendertabelle in der Tabellenansicht in Power BI

Entsprechend dem vorigen Absatz sollten dann auch die „Datums- und Uhrzeitfunktionen“ eher „Kalender- und Uhrzeitfunktionen“ heißen, denn da finden Sie unter anderem DAX Funktionen zum Erstellen eines Kalenders.

Wir merken uns einfach, wenn wir Daten in Zeitperioden anhand einer Kalendertabelle auswerten und in Beziehung setzen wollen, dann brauchen wir Zeitintelligenz-Funktionen.

Gibt es Zeitintelligenz für „normale“ Excel Pivot Tabellen?

Salopp formuliert: Zeit ja, Intelligenz nein. Die Pivot Tabelle kann Ihnen die aggregierten Daten nach den in der Datumsspalte vorhandenen Zeiträumen zusammengefasst anzeigen (Abb. 1).

Darüber hinaus können Sie selbst anhand einer Zeitachse nach Zeiträumen filtern. Aber das direkte Vergleichen oder Berechnen von Zeiträumen mittels selbst erstellter Formeln ist nicht möglich.
Das wird erst möglich mit den DAX Zeitintelligenz-Funktionen in Power Pivot und setzt sich mit noch mehr Möglichkeiten der Darstellung fort in Power BI.

Welche DAX Zeitintelligenzformen gibt es?

Nachfolgend finden Sie die vollständige Liste der DAX Zeitintelligenz-Funktionen (Stand: 25.6.2024) mit einer kurzen Beschreibung ihres jeweiligen Ausgabewerts.

Funktion Beschreibung
CLOSINGBALANCEMONTH Wertet den Ausdruck am letzten Tag des Monats im aktuellen Kontext aus.
CLOSINGBALANCEQUARTER Wertet den Ausdruck am letzten Tag des Quartals im aktuellen Kontext aus.
CLOSINGBALANCEYEAR Wertet den Ausdruck am letzten Tag des Jahres im aktuellen Kontext aus.
DATEADD Gibt eine Tabelle zurück, die eine Spalte mit Daten enthält, die um die angegebene Anzahl von Intervallen von den Datumsangaben im aktuellen Kontext entweder vorwärts oder rückwärts in der Zeit verschoben wurde.
DATESBETWEEN Gibt eine Tabelle zurück, die eine Spalte mit Datumsangaben enthält, die mit einem angegebenen start_date beginnt und bis zum angegebenen end_date fortgesetzt wird.
DATESINPERIOD Gibt eine Tabelle zurück, die eine Spalte mit Datumsangaben enthält, die mit einem angegebenen Anfangsdatum beginnt und für die angegebene Anzahl und den angegebenen Typ der Datumsintervalle fortgesetzt wird.
DATESMTD Gibt eine Tabelle zurück, die eine Spalte mit den Datumsangaben für den Monat bis zum aktuellen Tag im aktuellen Kontext enthält.
DATESQTD Gibt eine Tabelle zurück, die eine Spalte mit den Datumsangaben für das Quartal bis zum aktuellen Tag im aktuellen Kontext enthält.
DATESYTD Gibt eine Tabelle zurück, die eine Spalte mit den Datumsangaben für das Jahr bis zum aktuellen Tag im aktuellen Kontext enthält.
ENDOFMONTH Gibt das letzte Datum des Monats im aktuellen Kontext für die angegebene Datumsspalte zurück.
ENDOFQUARTER Gibt das letzte Datum des Quartals im aktuellen Kontext für die angegebene Datumsspalte zurück.
ENDOFYEAR Gibt das letzte Datum des Jahres im aktuellen Kontext für die angegebene Datumsspalte zurück.
FIRSTDATE Gibt das erste Datum im aktuellen Kontext für die angegebene Datumsspalte zurück.
FIRSTNONBLANK Gibt den ersten Wert in der Spalte „column“ zurück, gefiltert anhand des aktuellen Kontextes, bei dem der Ausdruck nicht leer ist.
LASTDATE Gibt das letzte Datum im aktuellen Kontext für die angegebene Datumsspalte zurück
LASTNONBLANK Gibt den letzten Wert in der Spalte „column“ zurück, gefiltert anhand des aktuellen Kontextes, bei dem der Ausdruck nicht leer ist.
NEXTDAY Gibt eine Tabelle zurück, die eine Spalte mit allen Datumsangaben des nächsten Tages enthält, bezogen auf das erste Datum in der Spalte „dates“ im aktuellen Kontext.
NEXTMONTH Gibt eine Tabelle zurück, die eine Spalte mit allen Datumsangaben des nächsten Monats enthält, bezogen auf das erste Datum in der Spalte „dates“ im aktuellen Kontext.
NEXTQUARTER Gibt eine Tabelle zurück, die eine Spalte mit allen Datumswerten im nächsten Quartal enthält, bezogen auf das erste Datum in der Spalte „dates“ im aktuellen Kontext.
NEXTYEAR Gibt eine Tabelle zurück, die eine Spalte mit allen Datumswerten im nächsten Jahr enthält, bezogen auf das erste Datum in der Spalte „dates“ im aktuellen Kontext.
OPENINGBALANCEMONTH Wertet den Ausdruck am ersten Tag des Monats im aktuellen Kontext aus.
OPENINGBALANCEQUARTER Wertet den Ausdruck am ersten Tag des Quartals im aktuellen Kontext aus.
OPENINGBALANCEYEAR Wertet den Ausdruck am ersten Tag des Jahres im aktuellen Kontext aus.
PARALLELPERIOD Gibt eine Tabelle zurück, die eine Spalte mit Daten enthält, die einen Zeitraum parallel zu den Daten in der Spalte „dates“ im aktuellen Kontext darstellt, wobei die Daten eine Anzahl von Intervallen entweder zeitlich vorwärts oder rückwärts verschoben wurden.
PREVIOUSDAY Gibt eine Tabelle zurück, die eine Spalte mit allen Datumsangaben des Tages davor enthält, bezogen auf das erste Datum in der Spalte „dates“ im aktuellen Kontext.
PREVIOUSMONTH Gibt eine Tabelle zurück, die eine Spalte mit allen Datumsangaben des Vormonats enthält, bezogen auf das erste Datum in der Spalte „dates“ im aktuellen Kontext.
PREVIOUSQUARTER Gibt eine Tabelle zurück, die eine Spalte mit allen Datumsangaben des vorherigen Quartals enthält, bezogen auf das erste Datum in der Spalte „dates“ im aktuellen Kontext.
PREVIOUSYEAR Gibt eine Tabelle zurück, die eine Spalte mit allen Datumsangaben des Vorjahres enthält, bezogen auf das letzte Datum in der Spalte „dates“ im aktuellen Kontext.
SAMEPERIODLASTYEAR Gibt eine Tabelle zurück, die eine Spalte mit allen Datumswerten enthält, die ein Jahr bezogen auf die Datumsangaben in der angegebenen Spalte „dates“ im aktuellen Kontext zurückverlagert wurden.
STARTOFMONTH Gibt das erste Datum des Monats im aktuellen Kontext für die angegebene Datumsspalte zurück.
STARTOFQUARTER Gibt das erste Datum des Quartals im aktuellen Kontext für die angegebene Datumsspalte zurück.
STARTOFYEAR Gibt das erste Datum des Jahres im aktuellen Kontext für die angegebene Datumsspalte zurück.
TOTALMTD Wertet den Wert des Ausdrucks für den Monat bis zum aktuellen Datum im aktuellen Kontext aus.
TOTALQTD Wertet den Wert des Ausdrucks für die Datumsangaben im Quartal im aktuellen Kontext bis zum aktuellen Tag aus.
TOTALYTD Wertet den Wert von „Seit Jahresbeginn“ von „expression“ (Ausdruck) am im aktuellen Kontext aus.

Quelle: Microsoft Zeitintelligenzfunktionen (DAX) … zur Quelle

Icon: Zielscheibe

Sie möchten mehr über DAX-Funktionen und Measures erfahren?

Den Umgang mit häufig eingesetzten DAX-Funktionen erlernen Sie in unseren beiden Lernpfaden:

Wir sind ein zertifizierter Bildungsträger
Seit mehr als 15 Jahren als Excel Spezialist tätig
Expertenwissen für Ihr Schulungsprojekt

Unsere angebotenen Kurse

Kurs auswählen [auf Kurs klicken ...]


Auflistung ALLER Kurse in Tabellenform

Excel Kurse ... hier klicken

Power BI Kurse ... hier klicken

Weitere nützliche Power BI
Tipps & Tricks für Sie

Hier klicken
Kursüberblick Anfrage senden