不使用PowerPivot的Excel数据模型

时间:2016-11-15 16:20:59

标签: mysql excel odbc datamodel

我对excel中的“数据模型”有疑问。每当我读到这个函数时,它都会与PowerPivot一起使用。

我问,因为我想做这样的事情:

我有表格A

  • ID
  • INFO1

表B

  • ID
  • INFO2

现在,如果我将这些表与数据模型函数(通过ID-Column)连接起来,我认为我可以将tableB.info2加入tableA,并有一个显示ID,info1,info2的表

但这似乎不可能,或者是否可能,我做错了什么?

在不使用PowerPivot的情况下,您是否可以使用数据模型?我觉得我错过了这个功能的重点。

2 个答案:

答案 0 :(得分:1)

从Excel 2013开始,DataModel可以在没有PowerPivot的情况下使用。您可以将表(或其他数据源)加载到其中,甚至可以使用DAX添加度量(尽管您无法添加计算列)。查看以下链接以获取示例: https://youtu.be/FVVK-8QZC1M(Mike Girvin向您展示如何在没有PowerPivot的情况下使用DAX来基于数据模型为数据透视表创建度量)

https://blog.crossjoin.co.uk/2012/07/16/what-are-the-big-changes-in-excel-2013-for-bi/(阅读评论以了解DataModel是如何与PowerPivot完全分离的。实际上,PowerPivot只是一个允许您对DataModel执行操作的UI)

https://powerpivotpro.com/2014/07/adding-tables-to-a-model-from-vba-in-excel-2013/(Dany解释了如何使用VBA对DataModel执行操作)

http://dailydoseofexcel.com/archives/2017/07/10/look-ma-no-powerpivot/(我的帖子,涵盖上述内容)

答案 1 :(得分:0)

PowerPivot是一种非常先进的工具,可以消除表格中的麻烦。它为您节省了大量时间。

“数据模型”是PowerPivot,PivotTables和PowerView的“核心”,不能与这三种工具中的任何一种分开使用。

您所谈论的内容可以实现,但最好在VLOOKUPINDEX(MATCH())中处理,

但是,我们只想说我们想沿着这条路走下去,因为老实说,我有时也会这样做。

首先,

在表1和表2之间的数据模型中连接您的ID值,箭头流向只有info1的表1。

在table1中创建一个计算列,为其提供公式

=RELATED(table2[info2])

将刚添加的新列命名为“related info2”

你的价值会神奇地填充。

但是如何将它恢复到excel工作簿中呢?它根本不是一个“干净”的解决方案,这就是我们推荐VLOOKUPMATCH(INDEX())

的原因

将info2放入Excel工作表中要做的是使用“Flattned PivotTable”。

您可以通过按“数据透视表”按钮在PowerPivot编辑器中创建此类型的数据透视表。

将您的Flattned PivotTable放在您想要info2的Excel工作表中的另一个表旁边,就像您可能会填充它旁边的info2列一样,因为您将要这样做。

将包含计算列的表中的所有数据透视表字段拖放到“行”框中,包括我们刚刚在table1中创建的“相关信息2”列。

要在右侧行获取正确的值,请进入“设计”选项卡,然后单击“小计”按钮,禁用所有小计,并对“总计”按钮执行相同操作,禁用所有总计。

确保“报告布局”为“紧凑”,也可在“设计”选项卡中找到。

Optional: You can add a field to "values" to allow row formatting to recognize the rows, otherwise the PivotTable thinks that there are no rows and you won't get anything but a mostly solid color, no matter how many designs you try to switch to (we're doing something tricky, remember?)

现在隐藏您刚刚使用数据透视表创建的Excel工作表中的所有列,但“相关的info2”列除外。

所以是的,这是可能的,但你最好使用VLOOKUPINDEX(MATCH())