SAP 剑客
于 2017-01-09 21:01:13 发布
5139
收藏 6
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本节知识点:Power Query 反转行的妙用(路径:“转换”——“反转行”)
何谓反转行,即将行内容反过来,有别于 “排序”。
例如 :
下面直接通过一个实用的例子来说明:《快速分析各产品的销售情况》
比如上图中首列 “销售日期” 记录了销售的日期及时间,按先后顺序排列,“钢材”一列记录了销售的品种,“吨数”一列记录了销售的数量。
(例子仅供参考,如何雷同,纯属巧合,切勿当真)。
实现效果如下图所示:
咋一看,用我们陈旧的思维模式,以及落后的 Excel2003,2007 工具,很难想到有什么方法能够快速的实现需求。
我们暂且喝一口凉水冷静一下,压压惊。
浅谈实现思路:
分为四个表处理(分别是 “最早销售记录”、“最晚销售记录”、“最好销售记录”、“最差销售记录”),然后进行合并,最后用透视表调整格式。
具体实现步骤:
为了简便,我们直接使用 “从表” 的方式导入数据源(大量的数据可以通过工作簿,文件夹方式批量导入,具体详见之前的博文)。
导入之后,我们先复制出四份,效果图如下:
首先我们处理 “最早销售记录”,由于我们的销售时间是按照先后顺序排列的,所以根据“钢材” 一列去掉重复值,即得到我们想要的最早销售记录。
选中 “钢材” 列,用之前学过的“开始”——“删除行”——“删除重复项”。
效果如下,即是我们想要的结果:
下面处理 “最晚销售记录”,这个时候聪明的朋友就会举一反三了,直接把” 销售日期 “按降序排列,然后再” 删除重复项“不就得了?
这里我很认真的告诉大家:不可以!验证发现此时使用” 删除重复项 “得到的结果还是上面的结果,那怎么办?
这个时候就可以用到此次讲到的” 反转行 “。
选中”销售日期 “一列,” 转换 “——” 反转行“。
可以发现最晚的销售记录跑到上面来了,这个时候再使用” 删除重复项 “就可以达到效果。
下面进行”最好销售记录 “的处理,我们是不是可以按” 吨数 “的降序排列,然后选中” 钢材 “列进行” 删除重复项“呢?
也不可以,这里还是需要用到” 反转行 “。
先对” 吨数 “列进行升序排列。
然后选中”吨数 “进行” 反转行“。
最后进行” 删除重复项 “。
最后一个”最坏销售记录 “的处理则是刚好跟上面的” 最好销售记录 “相反,先按照” 吨数 “的降序排列,然后进行” 反转行 “,最后” 删除重复项“。
效果如下:
现在四个表都处理完毕,为了之后处理方便,快速识别,我们在每一个表的最后新增一列”类型 “(即” 最早销售记录 “、” 最晚销售记录 “、” 最好销售记录 “、” 最坏销售记录“)。
”添加列 “——” 添加自定义列“。
这里不再详述。
之后我们对处理好的四个表进行” 追加 “操作。
保存连接,用透视表的方式进行打开,做最后的包装处理。
接下来我们根据需求在行的方向放置”钢材 “以及” 销售日期 “,在列的方向放置” 类型 “,值区域放置” 吨数“。
然后为了美观,我们更改一下它的布局(以表格形式显示)。
然后去掉汇总,在数据透视表选项中相应设置。
然后新建一个简单的表样格式。
应用一下,效果如下:
大概就是这样的一个效果,然后一些美丽控的朋友可以进行更深层次的美化。
在原始的数据源中新增删减记录,这里都可以动态刷新。
建议在”数据透视表 “的” 筛选 “里面拉一个” 月份 “或者” 销售日期“,这样可以动态的统计每个月的销售情况。
最后,本例纯属虚构,如阅后有不适以及呕吐,请勿联系本人。
https://saper.blog.csdn.net/article/details/54292717