次の方法で共有


DATESBETWEEN

適用対象: 計算列計算テーブルメジャービジュアル計算

手記

この関数は、意味のない結果を返す可能性があるため、視覚的な計算 使用することはお勧めしません。

指定した開始日から始まり、指定した終了日まで続く日付の列を含むテーブルを返します。

この関数は、CALCULATE 関数にフィルターとして渡す場合に適しています。 これを使用して、カスタム日付範囲で式をフィルター処理します。

手記

日、月、四半期、年などの標準の日付間隔を使用している場合は、より適した DATESINPERIOD 関数を使用することをお勧めします。

構文

DATESBETWEEN(<Dates>, <StartDate>, <EndDate>)

パラメーター

用語 定義
Dates 日付列。
StartDate 日付式。
EndDate 日付式。

戻り値

日付値の単一列を含むテーブル。

備考

  • 最も一般的なユース ケースでは、dates はマークされた日付テーブルの日付列への参照です。

  • StartDate が BLANKの場合、StartDatedates 列の最も古い値になります。

  • EndDate が BLANKされている場合、EndDatedates 列の最新の値になります。

  • 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 日までの日付範囲を返します。