PARALLELPERIOD

返回一个表,该表包含由日期构成的一列,这些日期表示与当前上下文中指定的 dates 列中的日期并行的期间,该列中具有在时间中前移或后移某个数目的间隔的日期。

语法

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

参数

定义
dates 包含日期的列。
number_of_intervals 一个整数,指定要从日期中加上或减去的间隔数。
interval 日期按其轮换的间隔。间隔值可以是以下值之一:year、quarter、month。

返回值

包含由日期值构成的单列的表。

注释

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

注意

若要了解有关上下文如何影响公式结果的详细信息,请参阅DAX 公式中的上下文

dates 参数可以是以下任何项:

  • 对日期/时间列的引用

  • 返回由日期/时间值构成的单列的表表达式

  • 定义由日期/时间值构成的单列表的布尔表达式

注意

CALCULATE 函数 (DAX) 一文中介绍了针对布尔表达式的约束。

如果为 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 日的日期。

如果当前上下文中的日期未构成连续间隔,则该函数将返回错误。

示例

下面的公式示例创建一个度量值,该度量值为 Internet 销售计算上一年的销售额。

为了阐释此示例的工作方式,创建一个数据透视表,并且向该数据透视表的“行标签”区域添加两个字段:CalendarYear 和 CalendarQuarter。然后使用在代码部分中定义的公式,将名为 Previous Year Sales 的度量值添加到该数据透视表的“值”区域。

注意

上面的示例使用 DAX 示例工作簿中的表 DateTime。有关示例的详细信息,请参阅获取 PowerPivot 示例数据

=CALCULATE(SUM(InternetSales_USD[SalesAmount_USD]), PARALLELPERIOD(DateTime[DateKey],-1,year))

results matching ""

    No results matching ""