48、Power Query-大量复杂数据的整理汇总

工作中,生活中不免会遇到需要整理大量复杂数据的情况,单纯的靠手动去搜索统计固然可以,但是效率极其低下。

如下图,列举了1990年~2015年NBA美职篮全明星的参赛名单,现在需要统计出每个人的参赛次数。


实现效果如下:


下面直接来简单谈一下它的实现思路,首先我们整理掉一些不需要的数据,例如“NBA2008年全明星阵容”相关的字眼。

我们利用第一列的“文本筛选器”剔除掉开头不为“NBA”的行。



接着利用我们熟悉的伎俩进行拆分操作。

根据分隔符“:”分割阵容以及姓名。



再根据“、”分割第二列数据(注意一定要选择“在出现的每个分隔符处”)。



接着我们选中第一列,进行除此列外的逆透视列,这个功能一直觉得特别好用。



删除我们不需要的列,更改列名,然后根据最后有一列姓名做分组依据。



大概的效果已经达成,但是我们的需求是将相同入选次数的明星都放在一起。

这个时候我们要做的还是分组依据(其实可以直接用函数完成,但是为了通俗易懂,巩固之前所学的函数Text.Combine)。



这个时候出现了Error,意料之中,我们所需的函数闪亮登场了。

替换

Table.Group(分组的行, {"入选次数"}, {{"姓名", each List.Sum([姓名]), type text}})

Table.Group(分组的行, {"入选次数"}, {{"姓名", each Text.Combine([姓名]), type text}})


结果貌似略丑啊,原因是没有分行显示,这个时候介绍一个小窍门。

上面的Text.Combine可以添加一个分隔符,我们不妨直接添加分行符号。

Table.Group(分组的行, {"入选次数"}, {{"姓名", each Text.Combine([姓名],"#(lf)"), type text}})


这个时候大功告成!

然后保存加载到新工作簿,发现格式错了,完了,居然没有换行。


不要慌张,这个是因为没有点击“自动换行”。


最后我们按照次数降序排列,达到最终目的。


模板下载路径:http://download.csdn.net/detail/zhongguomao/9754625

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页