DATESBETWEEN
手記
この関数は、意味のない結果を返す可能性があるため、視覚的な計算
指定した開始日から始まり、指定した終了日まで続く日付の列を含むテーブルを返します。
この関数は、CALCULATE 関数にフィルターとして渡す場合に適しています。 これを使用して、カスタム日付範囲で式をフィルター処理します。
手記
日、月、四半期、年などの標準の日付間隔を使用している場合は、より適した DATESINPERIOD 関数を使用することをお勧めします。
構文
DATESBETWEEN(<Dates>, <StartDate>, <EndDate>)
パラメーター
用語 | 定義 |
---|---|
Dates |
日付列。 |
StartDate |
日付式。 |
EndDate |
日付式。 |
戻り値
日付値の単一列を含むテーブル。
備考
最も一般的なユース ケースでは、
dates
はマークされた日付テーブルの日付列への参照です。StartDate
が BLANKの場合、StartDate
はdates
列の最も古い値になります。EndDate
が BLANKされている場合、EndDate
はdates
列の最新の値になります。StartDate
およびEndDate
として使用される日付は含まれます。 そのため、たとえば、StartDate
値が 2019 年 7 月 1 日の場合、その日付は返されるテーブルに含まれます (日付がdates
列に存在する場合)。返されるテーブルには、
Dates
列に格納されている日付のみを含めることができます。 そのため、たとえば、Dates
列が 2017 年 7 月 1 日から始まり、StartDate
の値が 2016 年 7 月 1 日の場合、返されるテーブルは 2017 年 7 月 1 日から開始されます。この関数は、計算列または行レベル セキュリティ (RLS) 規則で使用する場合、DirectQuery モードでは使用できません。
例
次の Sales テーブルメジャー定義では、DATESBETWEEN 関数を使用して、の最新 (LTD) 計算を生成します。 有効期間は、時間の初めからの時間の経過に伴うメジャーの累積を表します。
数式で MAX 関数が使用されていることに注意してください。 この関数は、フィルター コンテキスト内の最新の日付を返します。 そのため、DATESBETWEEN 関数は、最も早い日付から報告される最新の日付までの日付のテーブルを返します。
この記事の例は、Adventure Works DW 2020 Power BI Desktop モデルのサンプルと共に使用できます。 モデルを取得するには、サンプル モデル
Customers LTD =
CALCULATE(
DISTINCTCOUNT(Sales[CustomerKey]),
DATESBETWEEN(
'Date'[Date],
BLANK(),
MAX('Date'[Date])
)
)
Date テーブルに格納されている最も古い日付が 2017 年 7 月 1 日であることを検討してください。 そのため、レポートで 2020 年 6 月までにメジャーをフィルター処理すると、DATESBETWEEN 関数は 2017 年 7 月 1 日から 2020 年 6 月 30 日までの日付範囲を返します。