数据透视表中的固定列名称

问题描述 投票:0回答:2

我有一个问题: 我正在进行从不同表创建的每月自动数据透视开发。有些每月至少包含一个条目,有些则不然。缺少月份的月份(其中一个月份根本没有写在月份列中)也不会显示在创建的数据透视表中。我不想向源数据添加任何人为行。所以我的问题是,有没有办法使用 vba 创建一个固定的列标签列表,然后我可以将源数据的月份列中的数据关联到该列表,以便显示所有月份,即使是那些没有记录的月份。

有这个:

想要这个:

感谢您的帮助

卢卡斯

我已经尝试过通过从数据模型创建数据透视表的解决方案,但是我需要源仍然是实际的源数据,而不是一些外部数据。 另一种选择是在源表和另一个包含所有月份的表之间创建关系,但这也不起作用,即使我将另一个“辅助”表中的月份列表放入数据透视表中的列中,没有相关数据的月份列再次被隐藏。

excel vba pivot-table
2个回答
0
投票

如果您不想使用完整的日历表,那么使用包含所有月份的辅助表的解决方案是正确的。
在数据模型中,您应将其链接到其他表中的所有月份列,并按照您已经尝试过的方式在数据透视表中使用它(理想情况下,您应该在 Power Pivot 中隐藏其他表中的月份列)。
但是,剩下要做的就是右键单击数据透视表=>“数据透视表选项...”,进入选项卡“显示”并选中“显示列上没有数据的项目”。

Show items with no data on columns


0
投票

附上一个工作演示文件。您可以在左侧的列中添加数据并刷新数据透视表。对于用户来说,就像枢轴直接连接到桌子一样。

重现:

  1. 左侧的表格是您的来源=>点击数据>从表格加载
  2. 这将打开 PowerQuery => Home > 关闭并加载(单击箭头)> 关闭并加载到。
  3. 仅选择连接+选中“加载到数据模型”。

返回 Excel 后,转到数据模型,生成日历表,添加关系。

根据表中的数据插入数据透视表,但使用日期表的“月份编号”。确保设置数据透视选项(上面的帖子)以显示没有数据的行/列。

注意:一旦习惯使用数据模型和日期表,您将永远不会回头。现在,您可以在 Excel 中使用“大多数”dax 函数,例如计算年初至今、R12...或添加复杂的切片器等。

© www.soinside.com 2019 - 2024. All rights reserved.