Microsoft Office Access是由微软发布的关系数据库管理系统。它结合了 MicrosoftJet Database Engine 和 图形用户界面两项特点,是 Microsoft Office 的系统程序之一。Microsoft Office Access是微软把数据库引擎的图形用户界面和软件开发工具结合在一起的一个数据库管理系统。它是微软OFFICE的一个成员, 在包括专业版和更高版本的office版本里面被单独出售。2018年9月25日,最新的微软Office Access 2019在微软Office 2019里发布。 你看得没错,Access数据库的数据清洗整理能力也是超强的,但是多数人对于Access数据库的数据分析和数据清洗能力其实没有认识,仍然拘泥于用Excel来清洗和处理超过10万行的数据,其实这样做的效率是非常低的。今天我就来讲一讲我用Access数据库来清理150万行销售数据的经验总结。 这个案例的需求产生来自于我的工作,近期我要着重分析一种特定服务类商品的销售数据,因此花了两天的时间从公司的ERP中下载了2017年到2019年总共三年的销售详细数据,由于数据量比较大,因此在导出的时候我采取的方法是按照月份为单位导出的方法。即便如此,导出数据也花了我两天的时间才OK。 因此我要整理的对象是36张表(每年12张表,分别代表12个月的销售数据),总共的数据量有150万余条,每张表5-8万条数据不等。我第一步要做的事情就是把这36张表合并成一张大表: ? 这一步看着简单,其实不简单,需要使用SQL语言才行。 很多学习Access的朋友,包括我的Access学员在哪,对于表的重要意义认识的并不是很充分,经常无视基础表的可追溯性和数据整洁性,胡乱用Excel合并表格,也不注重细节质量,令我很无语。而且多数人的想法是:能用Excel能解决的事情用不到Access。这样的想法当然是错误的。 可实际情况是Excel能处理150万条数据么?明明105万条数据就到达Excel的极限了,它能做大量数据清洗才是见了鬼了。数据分析讲究的就是严谨和细致,实际上Excel并不是个严谨的软件,至少不是个数据库软件,并不能胜任数据清洗的工作。 ? 上图是用Union Select合并三年的表的SQL语句,看着很舒服,也很清爽,最重要的是这样做出来的合并表,它的可追溯性很好,在今后的数据分析过程中哪里出了问题比较容易顺藤摸瓜的进行定位。这样的数据清洗工作才是真正的数据清洗工作。我希望以后我的学员多拿给我这样的作品,少给我一大堆乱七八糟的Excel表格和奇奇怪怪的需求。 合并完三年的数据之后还存在着两个问题,第一个问题是合并采用的是普通查询,每次打开由于有150多万条数据,Access数据库的速度非常的慢,第二是由于ERP的设计问题,原始数据存在大量的空行,据估算有十几万行之多。 先说第一个问题的解决方案: 我采用了生成表查询的方式,直接把计算结果生成了一张独立的表而非查询,这样就能大大加快处理速度,不用每次都打开一个100多万行的查询。 再说第二个问题的解决方案: 清洗掉多出的空行,直接采用IS NOT NULL的查询语句就可以,具体方法很简单也很清楚。具体细节不过多展开了。 可以说,通过高效的运用Access数据库,比较好的解决了这项数据分析的重要前提——数据清洗工作,为业务数据分析奠定了良好的数据基础。 总结:
Microsoft Access在很多地方得到广泛使用,例如小型企业,大公司的部门。 |
温馨提示:喜欢本站的话,请收藏一下本站!