COLLAPSE

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

检索与当前上下文相比级别更高的上下文。 如果提供了表达式,则会在新上下文中返回其值,从而允许在层次结构中进行导航并在更详细的级别进行计算。

语法

同时执行导航和计算的语法。

COLLAPSE ( <expression>, <axis>[, N] )
COLLAPSE ( <expression>, <column>[, <column>] ... )

仅执行导航的语法。

COLLAPSE ( <axis>[, N] )
COLLAPSE ( <column>[, <column>] ... )

参数

术语 定义
表达式 要在新上下文中评估的表达式。
一个轴引用。
数据网格中的列。
N (可选)要折叠的级别数。 如果省略,则默认值为 1。

返回值

对于同时执行导航和计算的版本,在导航到新级别后,此函数将在新上下文中返回表达式的值。 对于仅执行导航的版本,此函数通过导航到新级别来修改评估上下文。

注解

  • 此函数只能在视觉计算中使用。
  • 此函数的仅导航版本可在 CALCULATE 函数内使用。
  • 层次结构的级别由轴引用所引用的每个轴中的所有列确定。
  • 在已指定列的情况下,轴的确定方式为:加入第一次遇到各列时各列对应的轴。
  • 当指定了 N 时,此函数将在层次结构中从当前级别向下导航 N 个级别或导航到顶部级别(以先到者为准)。
  • 当指定了多个列时,此函数将在层次结构中向上导航,直到到达不存在任何指定列的第一个级别。
  • 导航从数据矩阵中的当前单元格开始,沿层次结构向上升序排列。 如果某个指定列所处的级别低于当前单元格,则会忽略该列。

示例

如果给定了一个表,该表汇总了具有总计、年度、季度和月份级别的层次结构的总销售额,则下面的 DAX 计算分别在父级别、祖父级别和年份或自我级别计算[销售额]的最大值。

ParentValue = COLLAPSE([SalesAmount], ROWS)
GrandParentValue = COLLAPSE([SalesAmount], ROWS, 2)
QuarterOrSelfValue = COLLAPSE([SalesAmount], [Month])

下面的屏幕截图显示了具有三个可视化计算的矩阵。

DAX 视觉计算

另请参阅

EXPAND
EXPANDALL
COLLAPSEALL