我对excel中的“数据模型”有疑问。每当我读到这个函数时,它都会与PowerPivot一起使用。
我问,因为我想做这样的事情:
我有表格A :
表B :
现在,如果我将这些表与数据模型函数(通过ID-Column)连接起来,我认为我可以将tableB.info2加入tableA
,并有一个显示ID,info1,info2
的表
但这似乎不可能,或者是否可能,我做错了什么?
在不使用PowerPivot的情况下,您是否可以使用数据模型?我觉得我错过了这个功能的重点。
答案 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的“核心”,不能与这三种工具中的任何一种分开使用。
您所谈论的内容可以实现,但最好在VLOOKUP
或INDEX(MATCH())
中处理,
但是,我们只想说我们想沿着这条路走下去,因为老实说,我有时也会这样做。
首先,
在表1和表2之间的数据模型中连接您的ID值,箭头流向只有info1的表1。
在table1中创建一个计算列,为其提供公式
=RELATED(table2[info2])
将刚添加的新列命名为“related info2”
你的价值会神奇地填充。
但是如何将它恢复到excel工作簿中呢?它根本不是一个“干净”的解决方案,这就是我们推荐VLOOKUP
或MATCH(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”列除外。
所以是的,这是可能的,但你最好使用VLOOKUP
或INDEX(MATCH())