DATESINPERIOD

適用於:導出數據行計算數據表Measure視覺計算

注意

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

傳回數據表,此數據表 contains 以指定之開始 dateand 開始的日期數據行,date 間隔的指定數位 and 類型繼續。

此函式適合當做 filter 傳遞至 CALCULATE 函式。 使用它依標準 date 間隔 filter 表示式,例如天、月、季、or 年。

語法

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

參數

術語 定義
dates date 數據行。
start_date date 表示式。
number_of_intervals 整數,指定要加入的間隔數目,or 減去日期。
interval 要轉移日期的間隔。 間隔的 value 可以是下列其中一項:DAYMONTHQUARTER、andYEAR

傳回 value

包含單一資料列的數據表,datevalues。

言論

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

  • If 指定給 number_of_intervals 的數位為正數,則會在 time中向前移動日期;if 數位為負數,日期會在 time中向後移位。

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

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

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

下列 Sales 資料表 measure 定義會使用 DATESINPERIOD 函式來 calculate 先前 year (PY) 的收入。

請注意,公式會使用 MAX 函式。 此函式會傳回 filter 內容中最新的 date。 因此,DATESINPERIOD 函式會從 lastyear的最新 date 開始傳回日期數據表。

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

DAX
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。 從 2020 年 6 月 30 日起,這是一 datevalueslastyear的 year。

Time 智慧函式 (DAX)
Date and time 函式 (DAX)
DATESBETWEEN 函式 (DAX)