四百万行(400万行)的数据处理感想
最近两天在学习SQL ,算是告一段落,算是有进步,能够利用SQL数据库来汇总数据,心理特别高兴,为什么高兴???为什么学习这个???简单来说就是自己花费一个小时就可以完成18年年审需要的花费1天甚至更长时间才能汇总完的数据;再或者说18年年审是需要忍受表打开慢,运行慢,保存慢,最终累死累活的汇总数据而现在可以很轻松就汇总完数据;再或者说这是一种方式的进步,一种有有意识的改变,自己有所成长。
18年年审的时候审计一个零售的公司,企业确认收入的数据量非常大(一个月的数据是30万行左右,每个大概在50-70M),我需要做的一个工作就是核对一下企业的业务收入数据跟账里的业务数据是否一致,并按照客户进行汇总。当时打开一个表需要等很久,Excel会显示8个进程,等了好大一会才可以打开,做一个简单的加减就会反应好几分钟,之后做数据透视表反应好几分钟,你做好之后保存会好几分钟,有时候你等不急只能强制关掉重来。于是12个月的12张表我花费了很长时间,效率很低,感觉跟乌龟爬的一样,即使是完成了,事后想起来依然是不是愉快的回忆,每当想到这个痛点就不想再去这个项目。
在这个过程中我自己的一些感悟,
1)改变,因为改变才会进步,
我因为这个数据量大的痛点不想再去这个项目,回忆起来都不舒服,可是你能不去这个项目吗??不能,除非不做审计(因为即使离职去了另一个事务所也还可能遇到类似的问题),否则你还得去这个项目。即使你跟领导吐槽这个项目,可是这个数据量大不是什么风险,成为不了你不去这个项目的理由。作为审计人在做项目的时候肯定会遇到各种各样的问题,因为着急出报告,因为各种原因这个事情会过去,但是问题依旧在,既然是第二次做某个项目,那么就在新的一个年审前给解决掉这个问题,解决了这个问题,至少你在这个点上舒服,同时这也是你的进步,可以这样说改变是每个有追求的人面对工作时必须有的意识,改变什么,改变效率和效果,效率拿我遇到的数据来说就是我可以用更快的方式去做完数据汇总工作,而对于审计报告的效果来说你可能改变不了,因为审计报告一般都是标准无保留的意见。
2)追求更好的方式,更快的方式,
对于数据处理的方式,从微软的Excel到金山的wps(说明一点:WPS在处理稍微大一点的表比Excel会快一点,可以把电脑上装一个WPS备用),再到access数据库,再到SQL数据库,数据的处理量逐渐在增大,我们对数据的处理方式是否改变,至少我改变了。我用更快的方式去处理数据。
3)抓住一个点去改变自己的认知。
我18年年审的时候拿到企业给的数据的时候用我最经常用的Excel去打开很慢,问同事,同事告诉我WPS可能快点;之后我怀疑我的电脑老了i5的3代处理器,用同事的苹果电脑(专业版)处理速度并没有明显提升,我在网页上搜索,网页上更多的是表中数据不多但表却很大如几M,于是我在Excel交流群里面问好几十M的数据如何处理更快,有人回答说用access,在此之前只是大学的计算机二级听过access,那时只是应试而已,没有想到还有其他作用,于是自己就尝试了一下,至少当时解决了这个问题,我在用access处理的时候面对近400万行的数据感觉还是反应慢,如果只是针对近30万行的数据效果不错,很快,我在access群里面提问,有人给出说用SQL处理会快,还有人说用oracle处理(比SQL处理量更大但是我现在还不需要)于是我就尝试用SQL,花费了2天的时间终于完成,算是自己一个比较满意的结果,自己在15年的时候就接触过SQL,可是当时的作用只是鼎信诺审计软件用来对企业账套备份取数的一种方式,没有想到数据库SQL可以用来处理,这算是我自己的一点点的认识过程,别人提一个点,那么你根据这个点去寻求解决你所遇到问题的方式,在这个过程中改变自己的认知,解决遇到的问题。
4)只要能解决问题,其他的都是次要的
我当时知道access可以解决我遇到的问题,但是我不会写access语句,于是我在群里面询问有人回答就加好友,在群里发红包,想让他们帮忙解决一下,没有解决,但是他们至少提供了一个点;当时的时间比较紧,没有人帮忙,这次学习SQL有人帮忙写了一段很简短的代码。而为了获得这段代码,你会问一些很弱智的问题,虽然是网络最开始也有点不好意思。
另外一个解决方式是想想身边的朋友有没有人可以帮助,自己不是学计算机的没有一个直接的朋友帮助,于是就想到同学的哥哥学计算机的,朋友的男朋友是学计算机,远房亲戚的一个表哥学计算机的,不是直接朋友或经常联系不好意思问。
最后突然想到可以问企业的IT,那么大一个公司的IT应该有水平,于是就让他帮助写了一段代码。
总的来说就是你在解决问题的过程中借助的方式有很多,选择最好的方式,只要能解决你的问题让你做任何事都行,把不好意思收起来等,总之就是达到你的目标。
5)我不是计算机专业的该怎么办??
可能有的人会说我不是计算机专业的,我不会写代码,我用不了这种方法,我想说的是不是计算机的没有关系,我们只选择我们需要的那部分就行,我们可以让别人帮助完成原始代码,我们比葫芦画瓢,我们不会写但我们会用。难道你用笔记本电脑的人还必须会造笔记本电脑???!!!
之前曾写过一篇文章,当时就说过数据处理,现在又写其实就是就是想再一次强调这个特别好用,特别的方便,会用的会很爽;还有一点我们这个时代数据量会越来越大,几百万行的数据一定会用到,可以提前看。