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.

Diese Funktion ist für die Übergabe als Filter an die CALCULATE-Funktion geeignet. Verwenden Sie sie, um einen Ausdruck nach standardmäßigen Datumsintervallen wie z. B. Tagen, Monaten, Quartalen oder Jahren zu filtern.

Syntax

DATESINPERIOD(<dates>, <start_date>, <number_of_intervals>, <interval>)

Parameter

Begriff Definition
Daten Eine Datumsspalte
start_date Ein Datumsausdruck.
number_of_intervals Eine ganze Zahl, die die Anzahl der Intervalle angibt, die zu den Datumsangaben addiert oder davon subtrahiert werden sollen.
interval Das Intervall, in dem die Datumsangaben verschoben werden. Der Wert für das Intervall kann einer der folgenden sein: DAY, MONTH, QUARTER und YEAR

Rückgabewert

Eine Tabelle, die eine einzelne Spalte mit Datumswerten enthält

Bemerkungen

  • In den meisten Anwendungsfällen ist dates ein Verweis auf die Datumsspalte einer gekennzeichneten Datumstabelle.

  • Wenn die für number_of_intervals angegebene Zahl positiv ist, werden Datumsangaben zeitlich vorwärts verschoben. Wenn die Zahl negativ ist, werden Datumsangaben zeitlich rückwärts verschoben.

  • Der Parameter interval ist eine Enumeration. Gültige Werte sind DAY, MONTH, QUARTER und YEAR. Da es sich um eine Enumeration handelt, werden Werte nicht als Zeichenfolgen an sie übermittelt. Schließen Sie sie also nicht in Anführungszeichen ein.

  • Die zurückgegebene Tabelle kann nur Datumswerte enthalten, die in der Spalte dates gespeichert sind. Wenn die Spalte Daten z. B. am 1. Juli 2017 beginnt und der Wert von Datum_Anfang der 1. Juli 2016 ist, beginnt die zurückgegebene Tabelle am 1. Juli 2017.

  • Die Verwendung dieser Funktion im DirectQuery-Modus wird nicht unterstützt, wenn sie in berechneten Spalten oder RLS-Regeln (Row-Level Security) eingesetzt wird.

Beispiel

Die folgende Measuredefinition der Sales-Tabelle verwendet die Funktion DATESINPERIOD, um den Umsatz des Vorjahrs (PY) zu berechnen.

Beachten Sie, dass die Formel die MAX-Funktion verwendet. Diese Funktion gibt das letzte Datum zurück, das sich im Filterkontext befindet. Daher gibt die Funktion DATESINPERIOD eine Tabelle mit Datumswerten zurück, die am letzten Datum des letzten Jahres beginnen.

Die Beispiele in diesem Artikel können mit dem Adventure Works SW 2020 Power BI Desktop Beispielmodell verwendet werden. Informationen zum Abrufen des Modells finden Sie unter DAX-Beispielmodell.

Revenue PY =
CALCULATE(
    SUM(Sales[Sales Amount]),
    DATESINPERIOD(
        'Date'[Date],
        MAX('Date'[Date]),
        -1,
        YEAR
    )
)

Beachten Sie, dass der Bericht nach dem Monat Juni 2020 gefiltert ist. Die MAX-Funktion gibt 30. Juni 2020 zurück. Die DATESINPERIOD-Funktion gibt dann einen Datumsbereich von 1. Juli 2019 bis zum 30 Juni 2020 zurück. Es handelt sich um ein Jahr von Datumswerten, die mit dem 30. Juni 2020 für das letzte Jahr beginnen.

Zeitintelligenzfunktionen (DAX)
Datums- und Uhrzeitfunktionen (DAX)
DATESBETWEEN-Funktion (DAX)