PARALLELPERIOD
返回一个表,此表包含一列日期,表示与当前上下文中指定的 dates 列中的日期平行的时间段,日期是按间隔数向未来推移或者向过去推移的 。
语法
PARALLELPERIOD(<dates>,<number_of_intervals>,<interval>)
parameters
术语 | 定义 |
---|---|
日期 | 包含日期的列。 |
number_of_intervals | 一个整数,指定要添加到 dates 或从 dates 中减去的时间间隔数。 |
interval | 日期偏移的间隔。 interval 值可以是以下值之一:year 、quarter 、month 。 |
返回值
包含单列日期值的表。
备注
此函数获取由 dates 指定的列中的当前日期集,将第一个日期和最后一个日期移动指定的间隔数,然后返回两个移动日期之间的所有连续日期 。 如果间隔是月份、季度或年份的部分范围,那么结果中的任何部分月份也将被填充以完成整个时间间隔。
dates 参数可以是以下任一项 :
- 对日期/时间列的引用,
- 返回单列日期/时间值的表表达式,
- 定义日期/时间值的单列表的布尔表达式。
有关对布尔表达式的约束,可查看 CALCULATE 函数主题。
如果为 number_of_intervals 指定了正数,则 dates 中的日期向未来推移;如果指定的数字为负数,则 dates 中的日期向过去推移 。
interval 参数是一个枚举,而不是一组字符串;因此不应将值括在引号中 。 此外,在使用值
year
、quarter
、month
时应将它们拼写完整。结果表只包含出现在基础表列的值中的日期。
PARALLELPERIOD 函数类似于 DATEADD 函数,只是 PARALLELPERIOD 总是返回在给定粒度级别处的完整周期,而不是 DATEADD 返回的部分周期。 例如,如果你选择了从 6 月 10 日开始并在同年 6 月 21 日结束的日期,并且想将选择提前一个月,那么 PARALLELPERIOD 函数将返回下个月(7 月 1 日至 7 月 31 日)的所有日期;然而,如果使用的是 DATEADD,那么结果将只包含 7 月 10 日到 7 月 21 日的日期。
在已计算的列或行级安全性 (RLS) 规则中使用时,不支持在 DirectQuery 模式下使用此函数。
示例
下面的示例公式创建一个度量值,用于计算 Internet 销售的上一年销售额。
= CALCULATE(SUM(InternetSales_USD[SalesAmount_USD]), PARALLELPERIOD(DateTime[DateKey],-1,year))