在Excel中,使用Power Pivot搭建的模型通常用透视表展现结果,如下图所示。
除了透视表,还可以是表格样式:
在《将透视表伪装成表格的两种方式》这篇文章中,我讲解了如何制作表格样式的透视表。
无论是表格还是透视表展现,都不够灵活。本文介绍一个更加天马行空的方式:CUBEVALUE函数输出模型结果,取值到单元格中。感谢微博枫雨2020网友的分享。
该函数语法如下:
CUBEVALUE(connection,[member_expression1],[member_expression2], …)
Connection 必需。一个表示多维数据集的连接名称的文本字符串。 Member_expression 可选。多维表达式 (MDX) 的文本字符串,用来计算出多维数据集内的成员或元组。另外,member_expression 可以是由 CUBESET 函数定义的集合。使用 member_expression 作为切片器来定义要返回其汇总值的多维数据集部分。如果 member_expression 中未指定度量值,则使用该多维数据集的默认度量值。微软官网
那么如何使用呢?我们以一个有三个数据源的销售模型为例。
1.取单个模型中的数值
假设需要获取姓名为胡大花的销售额,任意单元格输入以下公式:
分步对该公式进行讲解。
输入CUBEVALUE函数后,第一个参数先输入双引号,会自动弹出“本工作簿模型”,选择该模型。
第二个参数再次输入双引号,会提示选择表格或者度量值,此处我们需要提取销售员表中的姓名,因此选择销售员表。
选择销售员表后,输入一个".",弹出该表中的所有列,选择销售员列。
再次输入一个".",弹出ALL,即默认数据是所有销售员,此处我们将ALL手工更改为胡大花。
最后一个参数选择度量值中的销售额。
这样,胡大花的业绩体现在了单元格中。这个公式的内容全部来自模型,那么如何与单元格内容互动?比方如下B30单元格是胡大花,B31是完颜朵。
2.与单元格互动取值
与单元格互动,需要将上述公式中的[胡大花]更改为单元格位置。如C30单元格公式为:
本案例只使用了一个条件对值进行计算,即销售业员姓名,如果有多个条件也可逗号隔开并列书写公式。这种方法特别适合复杂报表格式的自动化,例如各种合并单元格,各种表头层级:
除了CUBEVALUE,CUBE家族还有其他函数,读者可以自行体验。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ri-ji/22792.html