共用方式為


DATESINPERIOD

適用於:匯出數據行匯出數據表量值視覺計算

注意

不建議將此函式用於 視覺計算 ,因為它可能會傳回毫無意義的結果。

傳回包含日期資料行的資料表,以特定開始日期開始並繼續經過指定的日期間隔和類型。

此函式適合作為篩選條件來傳遞至 CALCULATE 函式。 用來依標準日期間隔 (例如:日、月、季或年) 篩選運算式。

語法

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

參數

詞彙 定義
日期 日期資料行。
start_date 日期運算式。
number_of_intervals 整數,指定要加上或減去日期的間隔數。
interval 日期移動所依據的間隔。 interval 值可以是下列其中一項:DAYMONTHQUARTERYEAR

傳回值

包含單一日期值資料行的資料表。

備註

  • 在最常見的使用案例中,在標示日期的資料表中,日期資料行會參考 dates

  • 如果指定給 number_of_intervals 的數字是正數,則日期時間會向前移;如果數字是負數,則日期時間會向後退。

  • interval 參數是列舉類型。 有效值為 DAYMONTHQUARTERYEAR。 由於其是列舉類型,所以不會以字串傳入值。 因此不要將其括在引號內。

  • 傳回的資料表只能包含儲存在 [日期] 資料行中的日期。 例如,如果 [日期] 資料行是從 2017 年 7 月 1 日開始,但 start_date 值是 2016 年 7 月 1 日,則傳回的資料表會從 2017 年 7 月 1 日開始。

  • 在計算結果欄或資料列層級安全性 (RLS) 規則中使用時,不支援在 DirectQuery 模式中使用此函式。

範例

下列銷售資料表量值定義會使用 DATESINPERIOD 函式來計算前年度 ((PY)) 的收益。

請注意,公式會使用 MAX 函式。 此函式會傳回篩選內容中的最新日期。 因此,DATESINPERIOD 函式會傳回日期資料表,其中的日期會從去年最後一天開始。

本文中的範例可搭配範例 Adventure Works DW 2020 Power BI Desktop 模型使用。 若要取得模型,請參閱 DAX 範例模型

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

假設報表以 2020 年 6 月當月來篩選報表。 MAX 函式會傳回 2020 年 6 月 30 日。 然後,DATESINPERIOD 函式會傳回 2019 年 7 月 1 日到 2020 年 6 月 30 日為止的日期範圍。 這是 2020 年 6 月 30 日起始日期值往前一年的範圍。

時間智慧函式 (DAX)
日期和時間函式 (DAX)
DATESBETWEEN 函式 (DAX)