99%的人都不知道的PowerQuery秘技

前言

解决问题:合并文件夹中的csv文件

问题难点:csv文件不规则,在有效数据前有部分冗余数据,无法直接使用Power Query的按钮控件完成

使用工具:Excel

故事概要

话说一代大侠李逍遥迫于生计,创建了个人博客,但是常年疏于管理。近日仔细研读《增长黑客》一书后,决定统计下相关数据,以求更大的发展,于是从微博后台下载了相关数据。

后台下载的数据表

观察数据表后,瞬间产生了2个需求:

  1. 去除每张表格的前5行
需求1
  1. 下载到一个文件夹中的所有的数据进行合并
需求2

但是如何将同时完成这两个需求,得到一份统计表,李逍遥陷入了深深的沉思。

解题思路

Excel自带的Power Query可谓是强大的ETL工具,若能完全掌握其M语言,这个问题也是小菜一碟。奈何掌握一门语言谈何容易,那么今天笔者也就硬着头皮试上一试。仔细观察需求,不难发现两个需求单独实现并不难,都是可视化控件可以搞定的,所以我们可以尝试做一个函数,用于读取表格,并删除不需要前5行,然后在合并文件夹中的文件时讨论。具体请听我娓娓道来。

将单CSV作为样例,并清理

这里的操作很简单,此处就不多做赘述,全过程共分两部:

  1. 导入数据
导入CSV
  1. 使用控件,删除前5行,并将第一行提升为标题
清理数据

将清理过程封装成函数

大家都知道,所谓函数,就必须要传参,所以我们需要创建一个参数。由于M语言中函数Csv.Document的第一个参数需要一个二进制文件,所以此处创建的参数是一个二进制参数。

创建参数

之后在原有的CSV文件导入过程中引用这个参数。引用后会报错,请别急,这是正常的

引用参数

之后就可以直接创建函数啦。

创建函数

将文件夹中的所有文件套用函数

至此,我们已经成功了一半了,后面就是洒洒水啦~

我们先将下载下的文件放入一个文件夹,然后在Power Query创建一个文件夹的查询。

导入文件夹

之后增加一个自定义列,使用刚才创建的函数即可。

使用函数

最后仅需删除其他列后,展开自定义列即完成了所有操作。

展开自定义列

总结

至此,李逍遥终于完成了合并数据,但是后期如何分析呢,这又是一个难题。但是他已经会了一个99%的人都不知道的Power Query秘技了。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • ORA-00001: 违反唯一约束条件 (.) 错误说明:当在唯一索引所对应的列上键入重复值时,会触发此异常。 O...
    我想起个好名字阅读 5,484评论 0 9
  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,161评论 1 32
  • 一、简历准备 1、个人技能 (1)自定义控件、UI设计、常用动画特效 自定义控件 ①为什么要自定义控件? Andr...
    lucas777阅读 5,278评论 2 54
  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML标准。 注意:讲述HT...
    kismetajun阅读 27,879评论 1 45
  • 首页 资讯 文章 资源 小组 相亲 登录 注册 首页 最新文章 IT 职场 前端 后端 移动端 数据库 运维 其他...
    Helen_Cat阅读 3,955评论 1 10