0

我有一个表格中的 Excel 表:

在此处输入图像描述

我想将其转换为:

DtWeek  WsName  CValues  TValues

这样我就可以有一个透视图,我可以在其中选择一个 WS 名称,然后查看它的 CValue 和 TValues 图表,省略所有其他 WsNames。

什么是避免手动复制粘贴的好方法!我想把它转储到一个 sql dbs 然后做一个

select WsName, 
       ,case when Current/Target='CurrentEcap' then.....

但这就是我能想到的。之后就输了!有一段时间,转置数据似乎使它看起来更整洁,但很快这也无济于事。主要是因为我不知道如何将当前值绘制为离散项目,而不是垂直轴上的总和或计数。(水平方向为 ww/dtweek)。还有其他更简单的方法吗?

4

1 回答 1

0

我会根据您必须处理的 DtWeek 列数推荐两种方法之一。您不一定需要将 Current/Target 反规范化为两个不同的字段来获得所需的结果,因为您可以按列旋转该字段以获得由 Current 与 Target 拆分的图表的数据系列。您需要在普通 Excel 图表中执行此操作,但对于数据透视图是可选的。但是,您肯定需要规范化 DtWeek,以便您可以按数据透视表中的行在此字段上进行透视。

一些 DtWeek 专栏 - 追加

如果只有几个,我建议将当前表加载到 Access 或 SQL 等 RDBMS 中,并运行多个附加语句来创建新表。然后,为每个 DtWeek 值设置 WHERE 子句,以便仅附加这些值,并使用您指定的值创建名为 DtWeek 的新字段(例如,在 Access 中,DtWeek:'201310')。此外,如果数据是非易失性的和/或您一次获得一周的数据,您可能只需要运行一次。

许多 DtWeek 列或定期报告 - UNPIVOT

在这种情况下,我会查看 DtWeek 的 SQL Server UNPIVOT。然后,您可以从 Excel 链接或运行使用 CASE 创建目标与当前列的附加查询。这里的 MSDN 简介或这篇文章(有一个很好的前后数据可视化)可能会有所帮助。如果您每周获得新数据和/或数据不稳定,这是一个更好的选择。

如果您的源数据非常混乱(例如来自以非关系格式转储格式化文本的遗留应用程序),您可能还需要考虑像 Monarch 这样的产品,您可以在其中构建自定义“陷阱”并且软件对给你的数据。

祝你好运!

于 2013-04-12T20:28:45.377 回答