PARALLELPERIOD
注意
不建议将此函数用于 视觉计算,因为它可能会返回毫无意义的结果。
返回一个表,该表包含一列日期,该列表示与当前上下文中指定 dates
列中的日期并行的时间段,日期在时间或时间上移出多个间隔。
语法
PARALLELPERIOD(<dates>,<number_of_intervals>,<interval>)
参数
术语 | 定义 |
---|---|
dates |
包含日期的列。 |
number_of_intervals |
一个整数,指定要在日期中添加或减去的间隔数。 |
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))