PARALLELPERIOD

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

注意

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

返回一个表,该表包含一列日期,该列表示与当前上下文中指定 dates 列中的日期并行的时间段,日期在时间或时间上移出多个间隔。

语法

PARALLELPERIOD(<dates>,<number_of_intervals>,<interval>)

参数

术语 定义
dates 包含日期的列。
number_of_intervals 一个整数,指定要在日期中添加或减去的间隔数。
interval 要移动日期的间隔。 间隔的值可以是下列值之一:yearquartermonth

返回值

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

言论

  • 此函数采用由 dates指定的列中的当前日期集,移动第一个日期和最后一个日期指定的间隔数,然后返回两个移位日期之间的所有连续日期。 如果间隔是月份、季度或年份的部分范围,则结果中的任何部分月份也会填写,以完成整个间隔。

  • dates 参数可以是以下任一参数:

    • 对日期/时间列的引用,
    • 返回日期/时间值的单个列的表表达式,
    • 一个布尔表达式,用于定义日期/时间值的单列表。
  • 本主题介绍了对布尔表达式的约束,CALCULATE 函数

  • 如果为 number_of_intervals 指定的数字为正数,则 dates 中的日期按时间向前移动;如果数字为负数,则 dates 中的日期将及时移回。

  • interval 参数是一个枚举,而不是一组字符串;因此不应将值括在引号中。 此外,值:yearquartermonth 在使用时应完全拼写。

  • 结果表仅包含显示在基础表列的值中的日期。

  • 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))

时间智能函数日期和时间函数DATEADD 函数