上图显示了我正在使用的时间序列数据的当前结构。它有许多时间序列数据列,由标题行中的客户ID标识。为了在数据透视表中使用此数据进行分析,我想将其转换为如下图所示的格式:
此处,客户ID成为描述时间序列数据的维度。
由于这是一个大型数据集,因此将数据手动转换为所需格式将是一个巨大的时间。另外,我没有Power Pivot或Power Query等花哨的加载项......
使用Excel VBA,如何编写宏来处理此任务?
谢谢,
答案 0 :(得分:1)
问题的解决方案可以在这里找到:http://www.excel.solutions/2014/03/unpivot-excel-data
按ALT键开始> D> P打开“数据透视表向导”对话框:
选择“多个合并范围”选项,然后点击“下一步”
在向导的第2a步中,选择“我将创建页面字段”选项,然后单击“下一步”
现在我们需要将交叉表数据范围添加为此数据透视表的数据源。输入/选择适当的范围,然后单击“添加”。然后点击“下一步”。
选择中间数据透视表的位置(使用新工作表是个好主意,因为我们可以在完成后删除整个工作表)。然后单击“完成”。
我们现在有一个'中间'数据透视表,它看起来与我们的原始数据非常相似,但有一些总计。现在,我们想要钻取此数据透视表的源数据,方法是双击总计Grand Total值 - Grand Total列和Grand Total行的单元格交集:
通过双击钻取到总计数据源,将创建另一个工作表,其中包含一个包含我们未透析数据的表: