共用方式為


DATESINPERIOD

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

注意

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

傳回數據表,其中包含以指定開始日期開頭的日期數據行,並針對指定的日期間隔數目和類型繼續進行。

此函式適合當做篩選傳遞至 CALCULATE 函式。 使用它依標準日期間隔來篩選表達式,例如天、月、季或年。

語法

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

參數

術語 定義
dates 日期數據行。
start_date 日期表達式。
number_of_intervals 整數,指定要加入或減去日期的間隔數目。
interval 要轉移日期的間隔。 間隔的值可以是下列其中一項:DAYMONTHQUARTERYEAR

傳回值

包含日期值單一數據行的數據表。

言論

  • 在最常見的使用案例中,dates 是標示日期數據表之日期數據行的參考。

  • 如果為 number_of_intervals 指定的數位為正數,日期會依時間向前移動;如果數位為負數,日期會以時間向後移。

  • interval 參數是列舉。 有效值為 DAYMONTHQUARTERYEAR。 因為它是列舉,所以值不會以字串的形式傳入。 因此,請勿將它們括在引號內。

  • 傳回的數據表只能包含儲存在 dates 數據行中的日期。 因此,例如,如果 dates 數據行從 2017 年 7 月 1 日起開始,且 start_date 值為 2016 年 7 月 1 日,傳回的數據表會從 2017 年 7 月 1 日起開始。

  • 在匯出數據行或數據列層級安全性 (RLS) 規則中使用時,不支援在 DirectQuery 模式中使用此函式。

下列 Sales 資料表量值定義會使用 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)