前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >将Power Pivot模型数据取值到单元格中

将Power Pivot模型数据取值到单元格中

作者头像
wujunmin
发布2021-09-07 15:27:27
1.4K0
发布2021-09-07 15:27:27
举报
文章被收录于专栏:wujunminwujunmin

在Excel中,使用Power Pivot搭建的模型通常用透视表展现结果,如下图所示。

除了透视表,还可以是表格样式:

在《将透视表伪装成表格的两种方式》这篇文章中,我讲解了如何制作表格样式的透视表。

无论是表格还是透视表展现,都不够灵活。本文介绍一个更加天马行空的方式:CUBEVALUE函数输出模型结果,取值到单元格中。感谢微博枫雨2020网友的分享。

该函数语法如下:

CUBEVALUE(connection,[member_expression1],[member_expression2], …)

Connection 必需。一个表示多维数据集的连接名称的文本字符串。 Member_expression 可选。多维表达式 (MDX) 的文本字符串,用来计算出多维数据集内的成员或元组。另外,member_expression 可以是由 CUBESET 函数定义的集合。使用 member_expression 作为切片器来定义要返回其汇总值的多维数据集部分。如果 member_expression 中未指定度量值,则使用该多维数据集的默认度量值。 微软官网

那么如何使用呢?我们以一个有三个数据源的销售模型为例。

1.取单个模型中的数值


假设需要获取姓名为胡大花的销售额,任意单元格输入以下公式:

代码语言:javascript
复制
=CUBEVALUE("ThisWorkbookDataModel","[销售员].[销售员].[胡大花]","[Measures].[M_销售额]")

分步对该公式进行讲解。

输入CUBEVALUE函数后,第一个参数先输入双引号,会自动弹出“本工作簿模型”,选择该模型。

第二个参数再次输入双引号,会提示选择表格或者度量值,此处我们需要提取销售员表中的姓名,因此选择销售员表。

选择销售员表后,输入一个".",弹出该表中的所有列,选择销售员列。

再次输入一个".",弹出ALL,即默认数据是所有销售员,此处我们将ALL手工更改为胡大花。

最后一个参数选择度量值中的销售额。

这样,胡大花的业绩体现在了单元格中。这个公式的内容全部来自模型,那么如何与单元格内容互动?比方如下B30单元格是胡大花,B31是完颜朵。

2.与单元格互动取值


与单元格互动,需要将上述公式中的[胡大花]更改为单元格位置。如C30单元格公式为:

代码语言:javascript
复制
=CUBEVALUE("ThisWorkbookDataModel","[销售员].[销售员].["&B30&"]","[Measures].[M_销售目标]")

本案例只使用了一个条件对值进行计算,即销售业员姓名,如果有多个条件也可逗号隔开并列书写公式。这种方法特别适合复杂报表格式的自动化,例如各种合并单元格,各种表头层级:

除了CUBEVALUE,CUBE家族还有其他函数,读者可以自行体验。

示例文件下载(或点击左下角阅读原文):

https://mianbaoduo.com/o/bread/YZmWm5xv

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-05-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 wujunmin 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
腾讯云 BI
腾讯云 BI(Business Intelligence,BI)提供从数据源接入、数据建模到数据可视化分析全流程的BI能力,帮助经营者快速获取决策数据依据。系统采用敏捷自助式设计,使用者仅需通过简单拖拽即可完成原本复杂的报表开发过程,并支持报表的分享、推送等企业协作场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档