DATESBETWEEN

适用于:计算列计算表度量值视觉计算

注意

不建议将此函数用于 视觉计算,因为它可能会返回毫无意义的结果。

返回一个表,该表包含以指定开始日期开头的日期列,并一直持续到指定的结束日期。

此函数适合作为筛选器传递给 CALCULATE 函数。 使用它按自定义日期范围筛选表达式。

注意

如果使用标准日期间隔(如天、月、季度或年份),建议使用更适合的 DATESINPERIOD 函数。

语法

DATESBETWEEN(<Dates>, <StartDate>, <EndDate>)

参数

术语 定义
Dates 日期列。
StartDate 日期表达式。
EndDate 日期表达式。

返回值

包含单个日期值的列的表。

言论

  • 在最常见的用例中,dates 是对标记日期表的日期列的引用。

  • 如果 StartDateBLANK,则 StartDate 将是 dates 列中最早的值。

  • 如果 EndDateBLANK,则 EndDate 将是 dates 列中的最新值。

  • 用作 StartDateEndDate 的日期是包容性的。 例如,如果 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 日。