EXPAND
检索与当前上下文相比增加了详细信息级别的上下文。 如果提供了表达式,则会在新上下文中返回其值,从而允许在层次结构中进行导航并在更详细的级别进行计算。
语法
同时执行导航和计算的语法。
EXPAND ( <expression>, <axis>[, N] )
EXPAND ( <expression>, <column>[, <column>] ... )
仅执行导航的语法。
EXPAND ( <axis>[, N] )
EXPAND ( <column>[, <column>] ... )
参数
术语 | 定义 |
---|---|
表达式 | 要在新上下文中评估的表达式。 |
轴 | 一个轴引用。 |
列 | 数据网格中的列。 |
N | (可选)要展开的级别数。 如果省略,则默认值为 1。 |
返回值
对于同时执行导航和计算的版本,在导航到新级别后,此函数将在新上下文中返回表达式的值。 对于仅执行导航的版本,此函数通过导航到新级别来修改评估上下文。
注解
- 此函数只能在视觉计算中使用。
- 此函数的仅导航版本可在 CALCULATE 函数内使用。
- 层次结构的级别由轴引用所引用的每个轴中的所有列确定。
- 当指定了列时,将通过在第一次遇到每个列时包含其轴来确定轴。
- 当指定了 N 时,此函数将在层次结构中从当前级别向下导航 N 个级别或导航到底部级别(以先到者为准)。
- 当指定了多个列时,此函数将在层次结构中向下导航,直至达到所有指定列所在的第一个级别。
- 导航从数据矩阵中的当前单元格开始,沿层次结构向下降序排列。 如果某个指定列所处的级别高于当前单元格,则会忽略该列。
- 通常,较低级别上存在多个后代单元格;因此,表达式参数需要某种形式的聚合。
示例
如果给定了一个表,该表汇总了具有总计、年度、季度和月份级别的层次结构的总销售额,则下面的 DAX 计算分别在子级别、孙级别和月份级别计算 [SalesAmount] 的最大值。
MaxOfChildren = EXPAND(MAX([SalesAmount]), ROWS)
MaxOfGrandChildren = EXPAND(MAX([SalesAmount]), ROWS, 2)
MaxOfMonthChildren = EXPAND(MAX([SalesAmount]), [Month])
下面的屏幕截图显示了具有三个可视化计算的矩阵。