Freigeben über


DATESBETWEEN

Gilt für:Berechnete SpalteBerechnete TabelleMeasurevisuelle Berechnung

Anmerkung

Diese Funktion wird für die Verwendung in visuellen Berechnungen abgeraten, da sie wahrscheinlich sinnlose Ergebnisse zurückgibt.

Gibt für die Datumsspalteneingabe eine Tabelle zurück, die eine Spalte mit Datumsangaben enthält, die mit einem angegebenen Anfangsdatum beginnt und bis zu einem angegebenen Enddatum fortgesetzt wird.

Gibt für die Kalendereingabe eine Tabelle zurück, die mit einem angegebenen Anfangsdatum beginnt und bis zu einem angegebenen Enddatum fortgesetzt wird. Die Tabelle enthält alle primären markierten Spalten und alle zeitbezogenen Spalten.

Diese Funktion eignet sich zum Übergeben als Filter an die CALCULATE-Funktion. Verwenden Sie ihn, um einen Ausdruck nach einem benutzerdefinierten Datumsbereich zu filtern.

Anmerkung

Wenn Sie mit Standarddatumsintervallen wie Tagen, Monaten, Quartalen oder Jahren arbeiten, empfiehlt es sich, die am besten geeignete DATESINPERIOD Funktion zu verwenden.

Syntax

DATESBETWEEN(<dates> or <calendar>, <StartDate>, <EndDate>)

Parameter

Ausdruck Definition
dates or calendar Eine Spalte, die Datumsangaben oder einen Kalenderverweis enthält
StartDate Ein Datums-/Tagausdruck. Wenn die Kalendersyntax verwendet wird, verwenden Sie denselben Datentyp wie die primäre Spalte, die in der Kategorie "Tag" markiert ist.
EndDate Ein Datums-/Tagausdruck. Wenn die Kalendersyntax verwendet wird, verwenden Sie denselben Datentyp wie die primäre Spalte, die in der Kategorie "Tag" markiert ist.

Rückgabewert

Bei der Eingabe von Datumsspalten enthält eine Tabelle, die eine einzelne Spalte mit Datumswerten enthält.
Bei Kalendereingaben enthält eine Tabelle, die alle primären markierten Spalten und alle zeitbezogenen Spalten enthält.

Bemerkungen

  • Im am häufigsten verwendeten Anwendungsfall ist dates ein Verweis auf die Datumsspalte einer markierten Datumstabelle.

  • Wenn StartDateBLANKist, ist StartDate der früheste Wert in der Spalte dates. Bei Kalendern ist dies der erste Wert in spalte, der als Tag markiert ist.

  • Wenn EndDateBLANKist, ist EndDate der neueste Wert in der spalte dates. Für kalender ist es der letzte Wert in spalte, der als Tag markiert ist.

  • Datumsangaben, die als StartDate und EndDate verwendet werden, sind inklusive. Wenn beispielsweise der StartDate Wert der 1. Juli 2019 ist, wird dieses Datum in die zurückgegebene Tabelle eingeschlossen (vorausgesetzt, das Datum ist in der Spalte dates vorhanden).

  • Bei der Datumsspalteneingabe kann die zurückgegebene Tabelle nur Datumsangaben enthalten, die in der Dates Spalte gespeichert sind. Wenn beispielsweise die spalte "Dates" ab dem 1. Juli 2017 beginnt und der StartDate Wert 1. Juli 2016 ist, beginnt die zurückgegebene Tabelle vom 1. Juli 2017.

  • Wenn für die Kalendereingabe das Eingabedatum in der Spalte "Tag" nicht gefunden wird, wird es als BLANK der erste/letzte Wert behandelt.

  • Verwenden Sie für die Kalendereingabe denselben Datentyp und dasselbe Format wie die markierte Tagesspalte für das Startdatum und das Enddatum. Wenn die Spalte beispielsweise das Format YYYY-Sn-Qn-Mnn-Wnn-Dnn verwendet (z. B. "2014-S2-Q4-M11-W45-D03"), muss das Start- und Enddatum demselben Format entsprechen (z. B. "2015-S2-Q4-M11-W45-D03"). Andernfalls ist das Verhalten nicht definiert.

  • Diese Funktion wird für die Verwendung im DirectQuery-Modus nicht unterstützt, wenn sie in berechneten Spalten oder Sicherheitsregeln auf Zeilenebene (RLS) verwendet wird.

Beispiel

Die folgende Definition der Tabelle "Sales table measure" verwendet die DATESBETWEEN-Funktion, um eine - -Berechnung (LTD) zu erzeugen. Das Leben bis zum Datum stellt die Anhäufung eines Measures im Laufe der Zeit seit dem Anfang der Zeit dar.

Beachten Sie, dass die Formel die funktion MAX verwendet. Diese Funktion gibt das neueste Datum zurück, das sich im Filterkontext befindet. Die funktion DATESBETWEEN gibt also eine Tabelle mit Datumsangaben zurück, die von dem frühesten Datum bis zum spätesten Datum beginnen, das gemeldet wird.

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

Customers LTD =
CALCULATE (
    DISTINCTCOUNT ( Sales[CustomerKey] ),
    DATESBETWEEN ( 'Date'[Date], BLANK (), MAX ( 'Date'[Date] ) )
)

Beachten Sie, dass das früheste Datum, das in der Tabelle Datum gespeichert ist, den 1. Juli 2017 ist. Wenn ein Bericht also das Measure nach dem Monat Juni 2020 filtert, gibt die funktion DATESBETWEEN einen Datumsbereich vom 1. Juli 2017 bis zum 30. Juni 2020 zurück.

Beispiel für kalenderbasierte Zeitintelligenz

Die folgende Definition der Tabelle "Sales table measure" verwendet die DATESBETWEEN-Funktion, um eine - -Berechnung (LTD) zu erzeugen. Das Leben bis zum Datum stellt die Anhäufung eines Measures im Laufe der Zeit seit dem Anfang der Zeit dar.

Beachten Sie, dass die Formel die funktion MAX verwendet. Diese Funktion gibt den maximalen Datekey zurück, der sich im Filterkontext befindet. Die funktion DATESBETWEEN gibt also eine Tabelle mit Datumsangaben zurück, die von dem frühesten Datum bis zum spätesten Datum beginnen, das gemeldet wird. DateKey wird als Beispiel verwendet, um anzuzeigen, dass die Kategorie "Tag" mit einer Spalte markiert werden kann, die nicht datumstypiert ist.

Customers LTD =
CALCULATE (
    DISTINCTCOUNT ( Sales[CustomerKey] ),
    DATESBETWEEN ( FiscalCalendar, BLANK (), MAX ( 'Date'[DateKey] ) )
)