【如何利用Excel和Access搭配做数据分析】分享给互联网技能从业者学习和参考。
以下都是个人做数据相关工作的实际体会:我在一家央企的销售企业做数据分析大概一年多了,有一些心得体会,Excel的基本操作需要熟练掌握自不必说,数据透视表是Excel做数据分析的核心。很多回答已经讲得很细很透,我不做过多展开。但我个人的体会,光掌握Excel做数据分析还不怎么够用,数据分析最难的部分是如何预处理数据。
打个不恰当的比喻,做数据分析像是打仗,局座张召忠说过如何打航空母舰,击沉航母其实不难,最难的部分是如何发现航母,也就是说打航母容易找航空母舰难,如果找到航母才是打仗问题的核心。我工作中做数据分析,最头疼的问题也不是分析,而是数据格式不标准,各种错误各种残缺。保守估计,我有90%以上的时间都花在了整理数据上,也就是找数据、准备数据的过程,真正来做分析的时间绝对超不过总时间的10%。
我每天处理的发票大概都长这个样子,当然都做了处理,实际的发票信息比这个显示的要复杂一些。
因此讲数据分析先重点讲讲数据处理,其实不算歪题,打鸭子前得找到鸭子,找鸭子也是打鸭子的一部分。下面讲讲我的数据分析流程:
每一天我的数据工作是这么开始的:到办公室,打开计算机屏幕,登录公司ERP系统,下载前一天的结算信息,这个过程大概要花20分钟左右,每天的数据少的几千条,多的大概要有上万条,然后把昨天的发票信息要清洗一下才能拼到历史数据库里。数据“清洗”开启了我每天的工作。
一、纠正数据中的错误
为什么要先清洗一下呢,因为ERP导出的发票有很多错误,不能直接用,举个例子,有一个字段叫“销售使用结构”,不知道什么原因,这个字段下面有的信息是“雇客自选”(实际应该是顾客自选),里面有个错别字,得改过来,不然Excel表没法用。还有,销售省份里面的信息不知为何,可能ERP设计公司设计人员的地理学的不好,都是很不规范的省份名称,比如内蒙古的行政区全称是“内蒙古自治区”,而发票信息里所有的内蒙古都是“内蒙古省”,这样的错误太多了。ERP是个好东西,用ERP导出的数据信息99%都是准确的,但是剩下的1%才是数据清理最头疼的部分。
为了对付像“内蒙古省”这样的低级错误,我使出了浑身解数,最开始用Excel的If查询,这样可以把错误信息批量纠正过来,开始用着还不错,后来发现有些错误错出了新花样,IF函数不太够用了,我就把每天要处理的Excel信息导进Access数据库,新建一张表,把正确和错误的数据放进表中,再用Access的查询功能批量替换旧有错误字段,这样的方法更加简洁。
二、向数据表中插入新字段
Access能够在数据清洗方面发挥的作用还不止这些。除了一些错误信息需要修正,我还得向Excel表中插入新的字段,也就是ERP没能给提供的字段。比如需要把不同的省份按照大区给重新划分,天津划进华北,黑龙江划进东北,30多个行政区划分成大区,而且这种划分还经常会有变动。
向数据表中插入新字段是最麻烦的数据准备工作
用Excel函数的方法我以前一直在用,但这个方法存在着很大的局限性:首先是If嵌套问题太严重,后期我采用Ifs函数,稍微好一些,但是仍然很麻烦,每个单元格虽然能够批量生成,但是语句仍然太长太臃肿;其次是不太容易进行语句修改,插入字段的内容其实并不是一成不变的,不是设定好一个函数就能一劳永逸,每次字段更改,我都要花大量的精力重新设计函数,很累眼睛,而且容易报错。这时候Access就显示出了更强的实力,我只要在Access中建立一张新旧字段对应表就可以完成这个令人头疼的问题。
Access的关系功能可以有效对付新字段难题
由于Excel的函数在处理大批量数据中不能有效发挥作用,我就更多地采用Access来预处理数据,久而久之,我就养成了用Access清洗、准备数据,用Excel数据透视表作分析的习惯。
三、数据透视表中作分析
数据清洗的工作完成之后,接下来的工作就比较轻松愉快了。直接用数据透视表透视就好了,没有什么技术难题了,该怎么分析就怎么分析就好了。
上几张图吧~
没怎么美化,大家将就看