Ale*_*exM 1 excel transpose pivot-table excel-formula excel-2010
我正在处理交易的数据转储,该数据转储不是出于任何目的以非常友好的格式从特定系统导出的。
Excel 中的数据目前由大约 700,000 行组成,而一旦组织正确,应该只包含 70,000 行,其中一列的唯一值被转置到一些附加列中。
目前我正在使用下面这样的(简化的)示例;
Request_ID Status Field_Name Value
01000 Rejected Name John Smith
01000 Rejected Acc Number 123456
01000 Rejected Date 1/12/2015
01000 Rejected Enquiry Type Type 1
01000 Rejected Reason Reason 1
01001 Completed Name Jane Jones
01001 Completed Acc Number 123457
01001 Completed Date 1/12/2015
01001 Completed Enquiry Type Type 2
01001 Completed Reason Reason 2
Run Code Online (Sandbox Code Playgroud)
前两列(Request_ID和Status)是简单的重复值,以满足与每个单独请求相关的众多数据行。
所述FIELD_NAME列是特定列重复为每个唯一的REQUEST_ID同一组上各行的值-和值列列出与每个FIELD_NAME相应值。
它是第 3 列和第 4 列(Field_Name和Value),我想将它们转置为行以产生如下所示的内容:
Request_ID Status Name Acc Number Date Enquiry Type Reason
01000 Rejected John Smith 123456 1/12/2012 Type 1 Reason 1
01001 Completed Jane Jones 123457 1/12/2012 Type 2 Reason 2
Run Code Online (Sandbox Code Playgroud)
如您所见,上面的第二个示例更具逻辑性,冗余数据更少 - 此外还允许进行简单的过滤和分析。
因此,我的第一个调用点是尝试通过将数据插入数据透视表来实现上述操作,但是我似乎无法弄清楚逻辑。或者,如果我能够将字段放入类似的列位置,那么这些值将简单地计算表主体中的计数,而不是值本身(数据透视表的性质也是如此)。
是否可以使用转置功能?(如果是这样,我很乐意调查自己)
是否有一些我没有考虑过的替代解决方案?
(旁注- 我的数据转储中有其他列我没有包含在示例中,因为它们包含的值对于与单个 Request_ID 相关的每一行简单重复 - 所以我认为我可以对任何适用的解决方案使用相同的逻辑以上)
如果您能指出我正确的方向,或提供任何指导,我将不胜感激,因为我很难过。
根据您的 Excel 版本,您可以使用Power Pivot(2010/2013) 或Get & Transform(2016) 适当地透视数据。您的数据(如果尚未在表中)将被转换为一个。
对于后者,选择From Table打开查询编辑器。选择字段名称和值列后,选择Transform?Pivot Column
这将打开一个 Pivot Column 对话框。您想确保选择如下。此外,您必须选择 advanced进入该do not aggregate选项。
选择确定,您将获得与您的问题相同的结果。当您保存查询时,它会将结果写入新的工作表。您需要正确格式化日期列。
我不确定这将如何处理 700,000 行。您可能需要 64 位 Excel。
但是,查看对其他回复的一些评论,此解决方案应该适用于不同数量的Field Name / Value对。
| 归档时间: |
|
| 查看次数: |
7959 次 |
| 最近记录: |