返回给定区间中的所有日期组成的单列形式的表。
语法
DATESINPERIOD ( <日期列>, <起始日期>, <偏移量>, <间隔单位> )
参数 | 属性 | 描述 |
日期列 | 包含日期的列 | |
起始日期 | 日期表达式 | |
偏移量 | 一个整数,从日期列中添加或减去的时间间隔数;正数向未来推移,反之向过去推移 | |
间隔单位 | 日期偏移的间隔,可以是以下值之一:year 、quarter 、month |
返回值
表
包含单列日期值的表。
备注
DATESINPERIOD 函数应用偏移量到参数所在的日期列,返回<间隔数>所指定区间中包含的所有日期。
<日期列>参数可以是以下任一项 :
- 对日期/时间列的引用。只有在这种情况下才应用上下文转换,因为列引用被替换为
CALCULATETABLE ( DISTINCT ( <日期列> ) )
- 返回单列日期/时间值的表表达式
- 定义日期/时间值的单列表的布尔表达式
结果表只包含日期列中存在的日期。
DATESINPERIOD未针对 DirectQuery 进行优化,在计算列和行级别安全性公式中完全不受支持。 但可以在度量值和查询公式中使用,只不过无法保证性能。
示例
下面的表达式计算从筛选上下文中该期间的最后一天开始的最近 12 个月的销售额:
Sales Moving Annual Total = CALCULATE ( [Sales Amount], DATESINPERIOD ( 'Date'[Date], MAX ( 'Date'[Date] ), -1, YEAR ) )
扩展阅读:
- MSDN 文档:DATESINPERIOD
- DAX Guide:DATESINPERIOD
说点什么