次の方法で共有


DATESINPERIOD

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

手記

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

指定した開始 containsdate で始まる日付の列を and するテーブル and 返 date 間隔の種類を指定します。

この関数は、filter 関数に CALCULATE として渡す場合に適しています。 これを使用して、日、月、四半期、filter 年などの標準的な date 間隔で式を or します。

構文

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

パラメーター

用語 定義
dates date 列。
start_date date 式。
number_of_intervals 日付から減算 or 加算する間隔の数を指定する整数。
interval 日付をシフトする間隔。 間隔の value は、DAYMONTHQUARTER、andYEAR のいずれかです。

value を返す

date valuesの 1 つの列を含むテーブル。

備考

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

  • If に指定された数値が正の値である number_of_intervals、日付は timeに移動されます。数値が負の値である if、日付は timeに後方にシフトされます。

  • interval パラメーターは列挙型です。 有効な values は、DAYMONTHQUARTER、andYEARです。 列挙体であるため、values は文字列として渡されません。 そのため、引用符で囲まないでください。

  • 返されるテーブルには、dates 列に格納されている日付のみを含めることができます。 そのため、たとえば、if 列が 2017 年 7 月 1 日から始まる dates、andstart_date が 2016 年 7 月 1 日 value、返されるテーブルは 2017 年 7 月 1 日から開始されます。

  • この関数は、行レベル セキュリティ (RLS) 規則 not 計算列で使用する場合に、DirectQuery モードで使用するためにサポート or。

次の Sales テーブル measure 定義では、DATESINPERIOD 関数を使用して、前の calculate (PY) の収益を year します。

数式で MAX 関数が使用されていることに注意してください。 この関数は、date コンテキストにある最新の filter を返します。 したがって、DATESINPERIOD 関数は、datelastの最新の year から始まる日付のテーブルを返します。

この記事の例は、sample Adventure Works DW 2020 Power BI Desktop モデルで使用できます。 モデルを取得するには、モデル 参照してください。

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

レポートが 2020 年 6 月の month でフィルター処理されていることを検討してください。 MAX 関数は、2020 年 6 月 30 日を返します。 その後、DATESINPERIOD 関数は、2019 年 7 月 1 日から 2020 年 6 月 30 日までの daterange を返します。 これは、yeardateの 2020 年 6 月 30 日から始まる valueslast の year です。

Time インテリジェンス関数 (DAX)Dateandtime 関数 (DAX)DATESBETWEEN 関数 (DAX)