DATESINPERIOD
注意
不建議將此函式用於 視覺計算,因為它可能會傳回毫無意義的結果。
傳回數據表,此數據表 contains 以指定之開始 dateand 開始的日期數據行,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 可以是下列其中一項:DAY 、MONTH 、QUARTER 、andYEAR |
傳回 value
包含單一資料列的數據表,datevalues。
言論
在最常見的使用案例中,
dates
是標示 date 數據表 date 數據行的參考。If 指定給
number_of_intervals
的數位為正數,則會在 time中向前移動日期;if 數位為負數,日期會在 time中向後移位。interval
參數是列舉。 有效的 values 為DAY
、MONTH
、QUARTER
andYEAR
。 因為它是列舉,所以不會以字串的形式傳入 values。 因此,請勿將它們括在引號內。傳回的數據表只能包含儲存在
dates
數據行中的日期。 因此,例如,ifdates
數據行從 2017 年 7 月 1 日起開始,andstart_date
value 為 2016 年 7 月 1 日,傳回的數據表將從 2017 年 7 月 1 日起開始。在匯出數據行中使用 not 數據列層級安全性 (RLS) 規則時,支援此函式 or 用於 DirectQuery 模式。
例
下列 Sales 資料表 measure 定義會使用 DATESINPERIOD 函式來 calculate 先前 year (PY) 的收入。
請注意,公式會使用 MAX 函式。 此函式會傳回 date 內容中最新的 filter。 因此,DATESINPERIOD 函式會從 datelast的最新 year 開始傳回日期數據表。
本文中的範例可以搭配 sample Adventure Works DW 2020 Power BI Desktop 模型使用。 若要取得模型,請參閱 DAXsample 模型。
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 日起,這是一 yeardatevalueslast的 year。