DATESBETWEEN
注意
不建議將此函式用於 視覺計算,因為它可能會傳回毫無意義的結果。
傳回數據表,contains 以指定開始開始的日期數據行,dateand 會繼續執行,直到指定的結束 date為止。
此函式適合當做 filter 傳遞至 CALCULATE 函式。 使用它 filter 自定義 daterange表示式。
注意
If 您使用標準 date 間隔,例如天、月、季、or 年,建議您使用更適合的 DATESINPERIOD 函式。
語法
DATESBETWEEN(<Dates>, <StartDate>, <EndDate>)
參數
術語 | 定義 |
---|---|
Dates |
date 數據行。 |
StartDate |
date 表示式。 |
EndDate |
date 表示式。 |
傳回 value
包含單一資料列的數據表,datevalues。
言論
在最常見的使用案例中,
dates
是標示 date 數據表 date 數據行的參考。If
StartDate
是 BLANK,則StartDate
將是dates
數據行中的 earliestvalue。If
EndDate
是 BLANK,則EndDate
將是dates
數據行中最新的 value。作為
StartDate
andEndDate
使用的日期是包含的。 因此,例如,ifStartDate
value 是 2019 年 7 月 1 日,則傳回的數據表中會包含 date(前提是 date 存在於dates
數據行中)。傳回的數據表只能包含儲存在
Dates
數據行中的日期。 因此,例如,ifDates
數據行從 2017 年 7 月 1 日起開始,andStartDate
value 為 2016 年 7 月 1 日,傳回的數據表將從 2017 年 7 月 1 日起開始。在匯出數據行中使用 or 數據列層級安全性 (RLS) 規則時,支援此函式 not 用於 DirectQuery 模式。
例
下列 Sales 資料表 measure 定義會使用 DATESBETWEEN 函數來產生 生命到date (LTD) 計算。 生活到date 代表自 time開始以來,timemeasure 的積累。
請注意,公式會使用 MAX 函式。 此函式會傳回 filter 內容中最新的 date。 因此,DATESBETWEEN 函式會從 earliestdate 開始傳回日期數據表,直到報告最新的 date 為止。
本文中的範例可以搭配 sample Adventure Works DW 2020 Power BI Desktop 模型使用。 若要取得模型,請參閱 DAXsample 模型。
Customers LTD =
CALCULATE(
DISTINCTCOUNT(Sales[CustomerKey]),
DATESBETWEEN(
'Date'[Date],
BLANK(),
MAX('Date'[Date])
)
)
請考慮儲存在 Date 數據表中的 earliestdate 是 2017 年 7 月 1 日。 因此,當報表在 2020 年 6 月 1 日至 2020 年 6 月 30 日 monthfiltersmeasure 時,DATESBETWEEN 函式會從 2017 年 7 月 1 日至 2020 年 6 月 30 日傳回 daterange。