Data Analysis Expressions (DAX) verfügt über 35 Funktionen speziell zum Aggregieren und Vergleichen von Daten im Zeitverlauf. Im Gegensatz zu den Datums- und Uhrzeitfunktionen von DAX verfügen Zeitintelligenzfunktionen in Excel nicht wirklich über etwas Ähnliches. Dies liegt daran, dass Zeitintelligenzfunktionen mit Daten arbeiten, die sich je nach dem Kontext, den Sie in PivotTables und Power View-Visualisierungen auswählen, ständig ändern.
Um mit Zeitintelligenzfunktionen arbeiten zu können, muss in Ihrem Datenmodell eine Datumstabelle enthalten sein. Die Datumstabelle muss eine Spalte mit einer Zeile für jeden Tag jedes Jahres enthalten, der in Ihren Daten enthalten ist. Diese Spalte wird als Datumsspalte betrachtet (obwohl sie nach Belieben benannt werden kann). Viele Zeitintelligenzfunktionen erfordern die Datumsspalte, um die Daten zu berechnen, die Sie als Felder in einem Bericht auswählen. Wenn Sie beispielsweise über ein Measure verfügen, das mithilfe der FUNKTION CLOSINGBALANCEQTR einen Schlussquartalsaldo berechnet, muss es auf die Datumsspalte in der Datumstabelle verweisen, damit Power Pivot weiß, wann das Quartal wirklich endet. Weitere Informationen zu Datumstabellen finden Sie unter Grundlegendes und Erstellen von Datumstabellen in Power Pivot in Excel.
Funktionen
Funktionen, die ein einzelnes Datum zurückgeben
Funktionen in dieser Kategorie geben ein einzelnes Datum zurück. Das Ergebnis kann dann als Argumente für andere Funktionen verwendet werden.
Die ersten beiden Funktionen in dieser Kategorie geben das erste oder letzte Datum im Date_Column im aktuellen Kontext zurück. Dies kann nützlich sein, wenn Sie das erste oder letzte Datum ermitteln möchten, an dem Sie eine Transaktion eines bestimmten Typs ausgeführt haben. Diese Funktionen verwenden nur ein Argument, den Namen der Datumsspalte in Der Datumstabelle.
Die nächsten beiden Funktionen in dieser Kategorie suchen das erste oder letzte Datum (oder auch einen anderen Spaltenwert), bei dem ein Ausdruck einen nicht leeren Wert aufweist. Dies wird am häufigsten in Situationen wie dem Bestand verwendet, in denen Sie den letzten Bestand abrufen möchten und nicht wissen, wann die letzte Inventur durchgeführt wurde.
-
FIRSTNONBLANK (Date_Column, Ausdruck)
-
LASTNONBLANK (Date_Column, Ausdruck)
Sechs weitere Funktionen, die ein einzelnes Datum zurückgeben, sind die Funktionen, die das erste oder letzte Datum eines Monats, Quartals oder Jahres im aktuellen Kontext der Berechnung zurückgeben.
-
STARTOFMONTH (Date_Column)
-
STARTOFQUARTER (Date_Column)
-
STARTOFYEAR (Date_Column [,YE_Date])
-
ENDOFMONTH (Date_Column)
-
ENDOFQUARTER (Date_Column)
-
ENDOFYEAR (Date_Column [,YE_Date])
Funktionen, die eine Tabelle mit Datumsangaben zurückgeben
Es gibt sechzehn Zeitintelligenzfunktionen, die eine Tabelle mit Datumsangaben zurückgeben. In den meisten Fällen werden diese Funktionen als SetFilter-Argument für die CALCULATE-Funktion verwendet. Genau wie alle Zeitintelligenzfunktionen in DAX nimmt jede Funktion eine Datumsspalte als eines ihrer Argumente an.
Die ersten acht Funktionen in dieser Kategorie beginnen mit einer Datumsspalte in einem aktuellen Kontext. Wenn Sie beispielsweise ein Measure in einer PivotTable verwenden, kann es einen Monat oder ein Jahr für die Spalten- oder Zeilenbeschriftungen geben. Der Nettoeffekt ist, dass die Datumsspalte gefiltert wird, um nur die Datumsangaben für den aktuellen Kontext einzuschließen. Ausgehend von diesem aktuellen Kontext berechnen diese acht Funktionen dann den vorherigen (oder nächsten) Tag, Monat, Quartal oder Jahr und geben diese Datumsangaben in Form einer einzelnen Spaltentabelle zurück. Die "previous"-Funktionen arbeiten rückwärts vom ersten Datum im aktuellen Kontext, und die "weiter"-Funktionen werden vom letzten Datum im aktuellen Kontext aus vorwärts verschoben.
-
VORHERIGER TAG (Date_Column)
-
PREVIOUSMONTH (Date_Column)
-
PREVIOUSQUARTER (Date_Column)
-
PREVIOUSYEAR (Date_Column [,YE_Date])
-
NEXTDAY (Date_Column)
-
NEXTMONTH (Date_Column)
-
NEXTQUARTER (Date_Column)
-
NEXTYEAR (Date_Column [,YE_Date])
Die nächsten vier Funktionen in dieser Kategorie sind ähnlich, aber anstatt einen vorherigen (oder nächsten) Zeitraum zu berechnen, berechnen sie den Satz von Datumsangaben in dem Zeitraum, der "monat-to-date" ist (oder quartals-bis-date, jahr-to-date oder im gleichen Zeitraum des vorherigen Jahres). Diese Funktionen führen alle ihre Berechnungen mit dem letzten Datum im aktuellen Kontext aus. Beachten Sie, dass SAMEPERIODLASTYEAR erfordert, dass der aktuelle Kontext einen zusammenhängenden Satz von Datumsangaben enthält. Wenn der aktuelle Kontext kein zusammenhängender Satz von Datumsangaben ist, gibt SAMEPERIODLASTYEAR einen Fehler zurück.
-
DATESMTD (Date_Column)
-
DATESQTD (Date_Column)
-
DATESYTD (Date_Column [,YE_Date])
-
SAMEPERIODLASTYEAR (Date_Column)
Die letzten vier Funktionen in dieser Kategorie sind etwas komplexer und auch etwas leistungsstärker. Diese Funktionen werden verwendet, um von dem Satz von Datumsangaben im aktuellen Kontext zu einem neuen Satz von Datumsangaben zu wechseln.
-
DATEADD (Date_Column, Number_of_Intervals, Interval)
-
DATESBETWEEN (Date_Column, Start_Date, End_Date)
-
DATESINPERIOD (Date_Column, Start_Date, Number_of_Intervals, Interval)
-
PARALLELPERIOD (Date_Column, Number_of_Intervals, Interval)
DATESBETWEEN berechnet den Satz von Datumsangaben zwischen dem angegebenen Anfangs- und Enddatum. Die verbleibenden drei Funktionen verschieben einige Zeitintervalle aus dem aktuellen Kontext. Das Intervall kann Tag, Monat, Quartal oder Jahr sein. Diese Funktionen erleichtern das Verschieben des Zeitintervalls für eine Berechnung durch eine der folgenden Methoden:
-
Zurück zwei Jahre
-
Zurück einen Monat
-
Drei Quartale vorwärts
-
Zurück 14 Tage
-
28 Tage vorwärts
In jedem Fall müssen Sie nur angeben, welches Intervall und wie viele dieser Intervalle verschoben werden sollen. Ein positives Intervall wird in der Zeit vorwärts verschoben, während ein negatives Intervall in die Zeit zurück verschoben wird. Das Intervall selbst wird durch eine Schlüsselwort (keyword) von DAY, MONTH, QUARTER oder YEAR angegeben. Diese Schlüsselwörter sind keine Zeichenfolgen, daher sollten sie nicht in Anführungszeichen stehen.
Funktionen, die Ausdrücke über einen bestimmten Zeitraum auswerten
Diese Kategorie von Funktionen wertet einen Ausdruck über einen angegebenen Zeitraum aus. Sie können dasselbe mit CALCULATE und anderen Zeitintelligenzfunktionen erreichen. Beispiel:
= TOTALMTD (Ausdruck, Date_Column [, SetFilter])
ist genau dasselbe wie:
= CALCULATE (Ausdruck, DATESMTD (Date_Column)[, SetFilter])
Es ist jedoch einfacher, diese Zeitintelligenzfunktionen zu verwenden, wenn sie gut für das Problem geeignet sind, das gelöst werden muss:
-
TOTALMTD (Ausdruck, Date_Column [, SetFilter])
-
TOTALQTD (Ausdruck, Date_Column [, SetFilter])
-
TOTALYTD (Ausdruck, Date_Column [, SetFilter] [,YE_Date]) *
Ebenfalls in dieser Kategorie finden Sie eine Gruppe von Funktionen, die Eröffnungs- und Schlusssalden berechnen. Es gibt bestimmte Konzepte, die Sie mit diesen speziellen Funktionen verstehen sollten. Erstens, wie Sie vielleicht für offensichtlich halten, ist der Eröffnungssaldo für einen beliebigen Zeitraum identisch mit dem Abschlusssaldo für den vorherigen Zeitraum. Der Schlusssaldo enthält alle Daten bis zum Ende des Zeitraums, während der Eröffnungssaldo keine Daten aus dem aktuellen Zeitraum enthält.
Diese Funktionen geben immer den Wert eines Ausdrucks zurück, der für einen bestimmten Zeitpunkt ausgewertet wird. Der Zeitpunkt, um den wir uns kümmern, ist immer der letzte mögliche Datumswert in einem Kalenderzeitraum. Der Eröffnungssaldo basiert auf dem letzten Datum des vorherigen Zeitraums, während der Schlusssaldo auf dem letzten Datum in der aktuellen Periode basiert. Der aktuelle Zeitraum wird immer durch das letzte Datum im aktuellen Datumskontext bestimmt.
-
OPENINGBALANCEMONTH (Ausdruck, Date_Column [,SetFilter])
-
OPENINGBALANCEQUARTER Quarter (Ausdruck, Date_Column [,SetFilter])
-
OPENINGBALANCEYEAR (Ausdruck, Date_Column [,SetFilter] [,YE_Date])
-
CLOSINGBALANCEMONTH (Ausdruck, Date_Column [,SetFilter])
-
CLOSINGBALANCEQUARTER (Ausdruck, Date_Column [,SetFilter])
-
CLOSINGBALANCEYEAR (Ausdruck, Date_Column [,SetFilter] [,YE_Date])
Zusätzliche Ressourcen
Artikel: Grundlegendes und Erstellen von Datumstabellen in Power Pivot in Excel
Referenz: DAX-Funktionsreferenzauf Office.com
Beispiele: Modellierung und Analyse von Gewinn- und Verlustdaten mit Microsoft PowerPivot in Excel