使用Excel 2016的获取和转换功能对Excel表格进行数据清洗
gOxiA 之前有了解过 Microsoft PowerBI,所以对大数据的应用非常感兴趣。由于还处在入门阶段,所以目前仍在学习和实践,那么在日常工作中主要是通过处理一些数据表格文件,实现简单的数据清洗,使之数据浏览起来显得更加直观和清晰,以满足自己的需求。虽然整个过程非常简单,但也乐在其中,今天整理一下与大家分享,也希望能带给大家一些帮助和提示。
在Excel 2016中提供了“获取和转换”数据的功能,简单理解呢就是对数据的查询和编辑功能,与 PowerBI 无本质差别,但整个的处理过程都是在Excel 2016中完成的,其价值也非常明显。
例如 gOxiA 定期要处理一些 ITSM 相关的台账数据,并对这个导出的数据表进行无关数据的清洗和整理,最终编辑为 gOxiA 所需要的表格结构,及数据呈现方式。由于这个台账数据需要每一段时间导出一次,那就意味着每次都要重新进行清洗和整理,是相当繁琐和麻烦的,无形之中也会产生很大的工作量,带来工作压力。
如果有一种软件可以实现基于这个原始台账进行编辑和生成,并可动态更新,岂不是高效太多!!!之前也想过用 PowerBI 来实现,但感觉当前的需求过于简单,也没有数据可视化需求,暂时没必要动用 PowerBI,后来发现了Excel 的数据查询(获取和转换)功能,如获至宝!
微软官方对“获取和转换”的解释还是很到位的,虽然是机器翻译,但理解起来也并不困难。Excel 中,我们可以搜索数据源,并进行连接,然后根据需要筛选、更改、删除数据,也可以对表进行合并,以满足我们需要的方式,一旦数据表调整完毕,就可以共享我们清洗过的数据表格文件。
如果按照顺序看“获取和转换”功能中的这些步骤,将发现其通常按照下面的方式进行:
- 连接 - 建立与云中、服务内和本地的数据之间的连接
- 转换 - 调整数据以满足你的需求;原始源保持不变
- 组合 - 从多个数据源,创建数据模型,获得数据的独特见解
- 共享 - 查询完成后可以将其保存、共享或将其用于报表
那么在具体应用中该如何操作呢?!举例来说,gOxiA 有一个定期从后台系统导出的台账表格,原始表格中包含很多无关的数据列需要删除;每行数据的排列顺序也需要重新整理;一些列的数据还需要进行筛选剔除无关数据;且数据类型也需要整理,便于后续的计算;还需要通过“条件格式”对一些数据进行自动标注;最后还需要从某列开始进行冻结以便于查阅。
可以看出上述列出的一些修改实际上包含很大的工作量,如果仅仅是一次性表格,倒也无所谓直接在原始表格上修改,但是这个原始台账每个一段时间就要提取出来进行整理,可想而知会产生多巨大的工作压力。
现在我们就利用 Excel 2016 内置的数据“获取和转换”功能简化上述的工作。首先准备好数据源,本例是一个Excel表格文档。然后新建一个Excel文件,切换到“数据”选项卡,找到“获取和转换”区域,并点击“新建查询”,如下图所示。
Excel 2016 支持从文件、数据库、Azure、在线服务和其他源,进行数据的连接和查询。在本例中选择的是从工作簿,即一个 Excel 文档。
在随后选择完毕 Excel 文件后,便会弹出“导航器”,原始表格的默认查询已经预加载,我们可以选择选择要加载的工作表,或先执行编辑查询。
加载查询后得到的结果即如下图类似,如果在上一步直接选择了加载,那么这里应该看到的是一个与原始表格基本相同的一个工作表。接下来我们就可以根据自己实际的需求对数据表进行修改,为此我们需要在 Excel 工具栏上切换到“查询”选项卡,然后点击“编辑”。
在弹出的“查询编辑器”中我们便可以对工作表数据进行按需清洗,操作过程如同我们编辑 Excel 一样,当完成编辑后,便可点击“关闭并上载”来刷新我们的当前工作表,实现最终的工作表视图结果。之后就可利用一些Excel常规的编辑功能对表格内容进行修饰。
当过了一段时间,原始表格数据进行了更新,我们只需要在“查询”选项卡中,点击“刷新”即可将新数据应用到当前工作表中。而之前我们所做过的筛选、修改、删除等操作都会继续应用到新数据上,无需再次整理。