DATESINPERIOD 函数
返回一个表,该表包含由日期构成的一列,这些日期从 start_date 开始,并且继续到指定的 number_of_intervals。
语法
DATESINPERIOD(<dates>,<start_date>,<number_of_intervals>,<interval>)
参数
术语 |
定义 |
dates |
包含日期的列。 |
start_date |
日期表达式。 |
number_of_intervals |
一个整数,指定要从日期中加上或减去的间隔数。 |
interval |
日期按其轮换的间隔。 间隔值可以是以下值之一:year、quarter、month、day |
返回值
包含由日期值构成的单列的表。
注释
![]() |
---|
若要了解有关上下文如何影响公式结果的详细信息,请参阅DAX 公式中的上下文。 |
dates 参数可以是以下任何项:
对日期/时间列的引用
返回由日期/时间值构成的单列的表表达式
定义由日期/时间值构成的单列表的布尔表达式
![]() |
---|
在 CALCULATE 函数 一文中介绍了针对布尔表达式的约束。 |
如果为 number_of_intervals 指定的数目是正数,则日期将在时间中向前;如果该数目是负数,则日期在时间中向后轮换。
interval 参数是枚举,而非字符串集;因此,不应该用引号将值引起来。 此外,值 year、quarter、month、day 在使用时应该完整拼写。
结果表只包括在基础表列的值中出现的日期。
不支持在 DirectQuery 模式下使用此 DAX 函数。 有关 DirectQuery 模型中的限制的详细信息,请参阅 https://go.microsoft.com/fwlink/?LinkId=219172。
示例
下面的公式为 2007 年 8 月 24 日之前的 21 天返回 Internet 销售额。
= CALCULATE(SUM(InternetSales_USD[SalesAmount_USD]),DATESINPERIOD(DateTime[DateKey],DATE(2007,08,24),-21,day))