COLLAPSE
与当前上下文相比,检索更高级别的上下文。 If 提供表达式后,在新上下文中返回其 value,从而允许在较高级别的层次结构 and 计算中进行导航。
语法
执行两个导航 and 计算的语法。
COLLAPSE ( <expression>, <axis>[, N] )
COLLAPSE ( <expression>, <column>[, <column>] ... )
仅执行导航的语法。
COLLAPSE ( <axis>[, N] )
COLLAPSE ( <column>[, <column>] ... )
参数
术语 | 定义 |
---|---|
expression |
要在新上下文中计算的表达式。 |
axis |
轴引用。 |
column |
数据网格中的列。 |
N |
(可选)要 collapse的级别数。 If 省略,默认 value 为 1。 |
返回 value
对于执行两个导航 and 计算的版本,该函数在导航到新级别后返回新上下文中的表达式 value。 对于仅执行导航的版本,该函数通过导航到新级别来修改评估上下文。
言论
- 此函数只能在视觉计算中使用。
- 函数的仅导航版本可在 CALCULATE 函数中使用。
- 层次结构的级别由轴引用引用的每个轴中的 all 列决定。
- 指定列时,轴通过包括每个列的轴来确定它遇到的 firsttime。
- 指定 N 时,该函数从当前级别导航层次结构 N 级别,or 最顶层,以 first为准。
- 指定多个列时,该函数会向上导航层次结构,直到达到指定列 none 所在的 first 级别。
- 导航从数据矩阵中的当前单元格开始,升序提升层次结构。 If 指定列的级别 lower 高于当前单元格,将忽略该列。
例
给定一个表,该表汇总了具有总级别、year、quarterandmonth的层次结构的总销售额,以下 DAX 计算分别提取父级、祖父母级别的 [SalesAmount] value,andyearor 自我级别。
ParentValue = COLLAPSE([SalesAmount], ROWS)
GrandParentValue = COLLAPSE([SalesAmount], ROWS, 2)
QuarterOrSelfValue = COLLAPSE([SalesAmount], [Month])
下面的屏幕截图显示了具有三个视觉计算的矩阵。