DATESBETWEEN
注意
不建議將此函式用於 視覺計算,因為它可能會傳回毫無意義的結果。
傳回數據表,其中包含以指定開始日期開頭的日期數據行,並持續到指定的結束日期為止。
此函式適合當做篩選傳遞至 CALCULATE 函式。 使用它依自定義日期範圍來篩選表達式。
注意
如果您使用標準日期間隔,例如天、月、季或年,建議您使用更適合的 DATESINPERIOD 函式。
語法
DATESBETWEEN(<Dates>, <StartDate>, <EndDate>)
參數
術語 | 定義 |
---|---|
Dates |
日期數據行。 |
StartDate |
日期表達式。 |
EndDate |
日期表達式。 |
傳回值
包含日期值單一數據行的數據表。
言論
在最常見的使用案例中,
dates
是標示日期數據表之日期數據行的參考。如果
StartDate
是 BLANK,則StartDate
會是dates
數據行中最早的值。如果
EndDate
是 BLANK,則EndDate
將是dates
數據行中最新的值。作為
StartDate
和EndDate
使用的日期是包含的。 因此,例如,如果StartDate
值為 2019 年 7 月 1 日,則該日期將會包含在傳回的數據表中(前提是日期存在於dates
數據行中)。傳回的數據表只能包含儲存在
Dates
數據行中的日期。 因此,例如,如果Dates
數據行從 2017 年 7 月 1 日起開始,且StartDate
值為 2016 年 7 月 1 日,傳回的數據表會從 2017 年 7 月 1 日起開始。在匯出數據行或數據列層級安全性 (RLS) 規則中使用時,不支援在 DirectQuery 模式中使用此函式。
例
下列 Sales 資料表量值定義會使用 DATESBETWEEN 函數來產生 至今 (LTD) 計算。 生活到最新狀態代表自時間開始以來一段時間的量值累積。
請注意,公式會使用 MAX 函式。 此函式會傳回篩選內容中的最新日期。 因此,DATESBETWEEN 函式會傳回從最早日期到報告最新日期的日期數據表。
本文中的範例可以搭配範例 Adventure Works DW 2020 Power BI Desktop 模型使用。 若要取得模型,請參閱 DAX 範例模型。
Customers LTD =
CALCULATE(
DISTINCTCOUNT(Sales[CustomerKey]),
DATESBETWEEN(
'Date'[Date],
BLANK(),
MAX('Date'[Date])
)
)
請考慮儲存在 Date 數據表中的最早日期是 2017 年 7 月 1 日。 因此,當報表依 2020 年 6 月的月份篩選量值時,DATESBETWEEN 函式會傳回 2017 年 7 月 1 日至 2020 年 6 月 30 日的日期範圍。