DATESBETWEEN

适用于:计算列计算表Measure视觉计算

备注

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

返回一个表,该表 contains 以指定开始 dateand 开头的日期列,直到指定的结束 date。

此函数适合作为 filter 传递给 CALCULATE 函数。 使用它通过自定义 daterangefilter 表达式。

备注

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。

  • 用作 StartDateandEndDate 的日期是包容性的。 因此,例如,ifStartDatevalue 为 2019 年 7 月 1 日,则返回的表中将包含 date(前提是 date 存在于 dates 列中)。

  • 返回的表只能包含存储在 Dates 列中的日期。 例如,ifDates 列从 2017 年 7 月 1 日起开始,andStartDatevalue 为 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 月 month 之前 filtersmeasure 时,DATESBETWEEN 函数从 2017 年 7 月 1 日至 2020 年 6 月 30 日返回 daterange。