PARALLELPERIOD
注意
不建议将此函数用于 视觉计算,因为它可能会返回毫无意义的结果。
返回一个表,该表 contains 一列日期,该列表示与当前上下文中指定 dates
列中的日期平行的时间段,日期在 timeor 移回 time的间隔。
语法
PARALLELPERIOD(<dates>,<number_of_intervals>,<interval>)
参数
术语 | 定义 |
---|---|
dates |
contains 日期的列。 |
number_of_intervals |
一个整数,指定要添加到日期 or 减去的间隔数。 |
interval |
要移动日期的间隔。 间隔的 value 可以是下列值之一:year 、quarter 、month 。 |
返回 value
包含单个列 datevalues的表。
言论
此函数采用由
dates
指定的列中的当前日期集,将 firstdateand 指定间隔数 lastdate,and 然后返回两个移位日期之间的连续日期 all。 If 间隔是 range的部分 month,quarter,oryear 结果中的任何部分月份也会填写,以完成整个间隔。dates
参数可以是以下任一参数:- 对 date/time 列的引用,
- 一个表表达式,返回单个列 date/timevalues,
- 一个布尔表达式,用于定义 date/timevalues的单列表。
本主题介绍了对布尔表达式的约束,CALCULATE 函数。
If 为
number_of_intervals
指定的数字为正数,则dates
中的日期在 time中向前移动;if 数字为负数,dates
中的日期将移回 time。interval
参数是一个枚举,not 一组字符串;因此 values 应用引号括起来 not。 此外,values:使用year
、quarter
、month
时应完全拼写。结果表仅包含基础表列 values 中显示的日期。
PARALLELPERIOD 函数类似于 DATEADD 函数 except,PARALLELPERIOD 始终在给定粒度级别返回完整周期,而不是 DATEADD 返回的部分周期。 例如,if 可以选择从 6 月 10 日开始的日期,and 在同一个 year的 6 月 21 日结束,and 你想要将所选内容向前移动一 month,PARALLELPERIOD 函数将返回 all 日期从 nextmonth(7 月 1 日至 7 月 31 日):但是,改用 ifDATEADD,则结果将仅包含从 7 月 10 日至 7 月 21 日之间的日期。
在计算列 not 行级别安全性 (RLS) 规则中使用时,or 支持在 DirectQuery 模式下使用此函数。
例
以下 sample 公式创建一个计算 Internet 销售 measureprevious 销售额的 year。
= CALCULATE(SUM(InternetSales_USD[SalesAmount_USD]), PARALLELPERIOD(DateTime[DateKey],-1,year))