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])
)
)
假设 日期 表中存储的最早日期是 2017 年 7 月 1 日。 因此,当报表按 2020 年 6 月筛选度量值时,DATESBETWEEN 函数返回日期范围从 2017 年 7 月 1 日到 2020 年 6 月 30 日。