zl程序教程

您现在的位置是:首页 >  数据库

当前栏目

多文件数据横向汇总,怎么整?| Power Query实战

2023-03-07 09:02:20 时间

最近遇到一位朋友提问:怎么将多个文本文件(据说100多份)按列(横向)汇总?经过详细了解,需求如下图所示:

严格来说,这个并不是数据的汇总,因为,这样的“汇总”只是将数据堆在一起,并没有同类数据追加或匹配查询等逻辑上的统一处理。

但是,相对于常见的数据追加等较“有意义”的汇总来说,这种不太常规的数据处理反而相对较难一些。

数据下载链接:https://t.zsxq.com/05UrZzjm2

我是大海,欢迎加入知识星球【Excel到PowerBI】,更多系列视频,更多实战练习,问答更详尽,学习更高效。

下面给出主要以操作为主和以函数公式为主的两种解法,供大家参考。

- 操作法 -

Step-01 从文件夹导入文件

文件识别后,选择“转换数据”进入Power Query编辑器:

Step-02 展开文件内容,生成文件合并过程

Step-03 对“转换示例文件”添加索引列,位后面的分行识别和透视列操作做准备

转换示例文件的用法是Power Query里一个很有意思的内容,若不了解,建议参考文章《666,一键生成自定义函数!“参数+示例+自定义函数”组合实在太神奇!| PQ实战》。

Step-04 对合并文件结果的“姓名/数量”列进行逆透视

Step-05 对文件名列和逆透视后得到的属性列进行合并,为后面的透视列操作做准备,也使得后面“汇总”的数据能明确区分来自于哪一个文件

Step-06 基于合并的文件名和属性列对“值”列进行透视,并且不要聚合,即可得到最终结果。

- 公式法 -

这个问题用公式法也不难,而且从解决问题的思路来说,相对与前面的逆透视再透视等操作涉及的技巧,公式法则更加直接一些。具体步骤如下:

Step-01 从文件夹导入文件

文件识别后,选择“转换数据”进入Power Query编辑器:

Step-02 用函数Csv.Document解析文本文件的内容为工作表(若觉得参数记不住,可以单独导入一个文本文件然后复制公式进行修改)

Step-03 添加自定义列,用Table.ToColumns函数将表拆分为列的组合

Step-04 新增一个步骤,用List.Combine函数将所有文件数据的列汇总成1个列表(直接点编辑栏的fx按钮新建步骤并输入公式)

继续修改公式,外面嵌套多一层,用Table.FromColumns函数将列转换为表,即得结果:

对于公式函数解法,其中涉及到表转换为列,再从列转换为表等相关操作,这些操作在使用Power Query的过程中非常重要,为此,我专门录制过视频进行讲解,建议还不太熟悉的朋友多看多练:

该视频属于完整系列视频《Excel、Power Query及Pivot》中的一集,更多内容欢迎识别下图中二维码或文末点击“阅读原文”加入知识星球学习。

- 操作 vs 函数 -

对于使用Power Query进行数据处理,界面操作和写函数公式的方法往往都是可行的,在实际工作中遇到不同的问题时,可以适当地往两个方向都想一想,界面操作可以怎么做?如果用写函数公式的话怎么做?哪一个更加简单方便?……

相信随着大家不断的练习,界面操作功能和常用函数一定会越来越熟练,进而遇到问题有思路,遇到难点有方法,这时,Power Query就真正成了提升工作效率的利器!

学习 Power BI 知识的过程中,

我遇过很多问题,踩过很多坑,

知识星球提问,

回答可跟踪可复习,

少走弯路,学习效率更高。