2020-08
21

懒精自动化

By xrspook @ 8:24:58 归类于: 烂日记

对别人来说,做某件事就是从系统上读取某些数字,抄在纸上,然后不断地敲计算器,得出某些数据,然后再按照某些格式整理成别人要的样子。之前我也是这么干的,但是我觉得,这实在是太累人了。我要做的不仅仅是读取系统上的数据,我做的是读取我自己的数据,然后跟系统上的做比对。做的东西必须是最小单位。明细对好了,后面的汇总是水到渠成的事。我觉得,汇总数据这种事,规则我定下来,结果应该是自动生成的,管好我的明细数据,汇总数据就不会出乱子。汇总数据出来了以后,还得按照某些格式整出来,这其实是一个填坑的过程,但是应该怎么填呢?逻辑的思路就是,如果有数据就展示出去,如果没有数据,就为空。这是主要思路,但某些细节问题其实也是需要考虑的,比如说数据与数据之间的标点符号:逗号,分号,句号,冒号等等。没有数据的时候,那个地方是空,但是在连接两个数据之间,有些人默认带入了标点符号,于是就会出现一个神经质的状态。数据与数据之间有一大堆莫名其妙的标点符号,正常情况下,那些东西都不应该存在。按照人的思路,那些东西根本不可能存在,但为什么有那些东西呢?显然是那个做判定的人没有把标点符号写到判定里。什么时候应该逗号,什么时候应该句号,当没办法判定哪个才是最后一个的时候,标点符号怎么办?其实真的不能判定吗?肯定是可以的,当某个元素的序号等于这个数组的最后一位,显然那个东西就是最后一个了。在Excel的世界里。尤其是不考虑VBA,只考虑前台的公式,这个逗号的判定在我现在的能力范围之内,的确有点难,所以遇到这种情况,我干脆每个数据给它一行,每行数据的末尾,不加任何标点符号。

昨天我突然意识到,Excel的公式编写是可以插入空格和回车的,当然,空格和回车要加在恰当的地方。比如加在数据连接的地方,不要加在某个函数里。又或者其实加在某个函数里面也是可以的,但是如果你在表达字符串的地方加入了很多空格,最终的结果肯定会哭。也正是因为回车的加入,让我的公式看上去更整洁了,我不用纠结不断地眼睛急转弯。复制粘贴也变得相当的容易。的确复制粘贴很简单,但是粘贴得多了,每一行的数据框架都是一样,只是修改了里面的部分内容就会让我自然而然想到使用循环。如果Excel的公式里有for或者while这种循环该多爽。换句话说,为什么就不能有循环呢?之所以这样,大概是因为Excel,没想过你要么在某个单元格里面展示一堆合并起来的字符串。这种字符串的合并,理论上更应该出现在Word或者普通的txt里面。

我首先写了个索引,然后写了个数据,接着对数据进行数据透视表,最后写了个很长的公式。根据数据透视表和数据透视表以外的一组数据,生成了两段字符串。字符串里面所有数字的格式全部都严格按照我需要的模样输出。这样做的确实现了我想要的功能,但我感觉还是有点麻烦,如果写个VBA,加入数组,这些东西很容易就能表达出来。从前前台看来,也会干净利落很多,但问题是,加入VBA的话。Excel的保存格式就得改变。对小白来说,VBA是个洪水猛兽。他们不知道该不该允许宏这个东西。如果我是他们,我不了解这个东西。这个东西的确有安全隐患,我肯定不会主动打开,即便我知道这个东西可能很强大。

开源的东西用起来得花一些步骤。组装好的东西用起来的确用很爽,但问题是,万一里面有猫腻呢?归根到底,还是自给自足、自娱自乐比较好。

2020-07
7

吐槽逆天格式

By xrspook @ 9:18:37 归类于: 烂日记

统一格式是非常有必要的事,但是一直以来,格式这种东西都非常难统一。正是因为格式很乱套,所以汇总的时候就很头痛。昨天我算见识到了一个闲得相当蛋痛的表格。Excel里明明可以调节列宽和行高,我的那个同事却喜欢把4个单元格合并为一个。整个表都是这么整法,一开始我只是关注上面的数据,当我检查完上面的数据以后才发现这么逆天的格式。不知道她为什么会想出这种极端无厘头的东西。她有把Excel,当做是Excel吗?!她不过是把那当作是一个画图的东西,如果按照这种逻辑,她是不是应该在Excel里画一些抽象画呢?说不定梵高之类的什么都比不上她。能做出如此逆天的表格,只能说明一个问题,她完全不懂Excel的思路,几乎可以说是对牛弹琴。这些表格如果打印出来,是看不出问题的,但是,一旦见识过原貌,我简直是五体投地。

对上一次见识这么厉害的表格,是十几年前的那些系统导出数据表。为了控制行距和列距,不知道为什么他们合并了好多单元格,也隐藏了不少单元格,同时也对很多单元格设定了格式。所以从一开始做导出,我就发现,每次格式都好奇怪,尤其是如果导出数据很多,格式必然会崩溃。明明不需要那么多格式,明明不需要那么多颜色,为什么要做合并?为什么要去格式控制?

我的那个同事,如果她平时是极少接触表格的,我不会这么震惊,问题是,她的工作根本离不开数据,但是,她居然这么外行地对待数据。看到以后,我真的很生气。来这个单位已经一年了,即便没有人告诉你应该怎么做,你每天都对着那些东西,难道你就不会自己长进一些吗?另外一个让我非常不理解的是她所在的科室,跟她相处得最多的同事,为什么就没有提醒过她不应该这样呢?会看的看门道,不会看的看热闹,反正,大概其他人觉得数据本身没有问题,格式什么的都是小事。正是因为他们觉得格式是小事,所以那个格式乱套的表格其实数据也有重大的纰漏。因为我是一个很手贱的人,所以可以复制粘贴的地方我绝对不会敲键盘,如果我需要敲键盘,那个数据我需要起码三次以上的复核。在一个合并单元格里,她怎么又可能把数据轻松地复制粘贴过去呢!这些逆天的格式,她是在整死自己,也在整死别人。

之所以我会有这种看法,之所以我会有这种思路,因为我除了是个搞统计的,我也是个搞编程的。我完全明白前台跟后台的区别,我也完全明白明细数据跟汇总数据到底是什么鬼东西,而这些他们不懂,他们没想过要把这些搞懂,因为他们完全没有意识到自己应该在那方面努力,又或者即便意识到了,也觉得既然可以得过且过,无所谓了。聪明这种东西,如果不用在正路上,始终一天会被笨鸟超越。我觉得,我就是其中的一只笨鸟。

但是,也正是因为我知道得太多,所以当我看到别人的所作所为以后,我会实在忍不住吐槽或者发飙。

2020-03
6

找自己麻烦

By xrspook @ 9:51:44 归类于: 烂日记

本来打算只搞30分钟的东西,结果我搞了三个小时都不止。想想都觉得很疯狂,于是整个晚上就变成了加班。上班下班对我来说没有非常明确的界限。我确信我正在做的事情是工作的一部分,但是从来都没有人强迫要求我必须这么干。跟我去纠结电动牙刷的电池一样,我完全是出于我想知道,所以我去纠结。

没人在乎那一公斤的东西该如何分配,折腾了我一个晚上,但不是这一公斤我算错了,而是貌似我把有多少件物体加起来一公斤的物体的件数给搞混了。总件数没有问题,但细分下去就有毛病。之所以会发生这种事,是因为当时我制定那个校验规则的时候完全没有考虑过件数。数量是可以核对的,但是件数不行,纯粹靠我自己去把握。为什么总数没问题而分类会出现误差,这个问题我折腾了三个多小时,虽然没搞清楚,但可以明确的是,因为我在分类里又细分了太多东西。我不可以一步到位进行计算,我要经常进行各种排除。一共有4个大类件数,其中三个跟我之前的对不上。我个人觉得,这样实在太糟糕了,虽然每个分项之间只差一点点而已。为什么之前会搞错呢?怎么会搞错的呢?之前我到底是用什么方式把那个组合出来的呢?现在要搞清楚当时的思路实在太难了,因为那是一年多以前整的,我当时到底用了什么操作呢?现在我已经完全不记得了。因为是在晚上核对,而且连续干了三个多小时都未果,所以我确定继续下去我的脑子不会好使,与其继续纠结,不如回去睡觉。或许今天早上突然之间我就有灵感了,比如说前天我在改进明细数据的结构,根据某些报表的习惯,我把某些东西拼在一起,但后来经过深思熟虑以后觉得那是不可行的,因为某些数据按照某些规则,几乎可以这么说,可以无限拆分,但另外一些,我暂时觉得是没有拆分必要的,而且其拆分方式跟之前的那些不一样。之前的那些数据不进行变态拆分的时候,这两种数据是可以放在一起的,但是当前面的玩起了无限拆分,要把前面和后面的数据放在一张表里作为汇总表的明细数据显然不可行。昨天早上起床后上厕所的时候,我突然意识到这个问题,于是一上班我就开始着手把我前天硬是拼在一起的东西分开,把可以无限拆分的继续拆分。拆分出来的两种数据,我都可以轻易的通过我手头上的资料快速地把它们变形出来,而不需要像前天那样全部都人肉处理。

想得越多,写的分析越多,越会感觉到自己的基础数据不够仔细分类不够合理。从前觉得很靠谱的分类方式现在看来挺傻听天真。当时的目标导向性很强,但是可塑性不高,没办法把那些数据作进一步组合利用。这些年来跟数据打交道,让我明白到,只有把最基础的东西分类好,后面才可以玩得转。

数据处理和分析是一个持续改进的过程。

2020-03
2

居然还召集开会

By xrspook @ 14:13:04 归类于: 烂日记

上个周末,我两天都在单位,因为考虑到周一晚上要回家。与其周一早上过来上班,然后晚上回去,还不如直接周一早上就不折腾了,直接到晚上再回家。如果这不是一个3月的月头,我根本不用这么烦恼。因为一开始,总公司定的那个开会时间是周一早上。如果那是一个普通的周一,我完全可以不回东莞,直接去开会,周二早上再回来。我根本不知道去总公司开会要半天还是一天,因为那些神经质的会没有一个正式的发文,甚至连OA上协同的通知也没有,唯一留下痕迹的只有微信上的聊天记录。我不知道为什么现在这种特殊时期他们仍采取面对面开会,视频会议不行吗?如果一个视频会议不行那就开两个、三个甚至N个!!!上星期四下午下班了以后才跟我说,星期五总公司的人要过来跟我探讨一下直属库需要报送的各种统计表格。实际上,那天晚上那人发过来让我先看看的那些表格全部都是总公司的汇总表。其实直属库填的所有表格都是总公司定下来的规矩。他们知道我们可以提交那些数据,而现在总公司的人之所以搞不懂其中的勾稽关系,大概因为平时他不负责处理那方面的内容。如果这样的话,总公司那边为什么就不能找一个熟练那一块的人加入这个软件的开发调试呢?我不知道总公司的工作是如何开展的,但其中有一点,他们的工作很多都是平行的,他们分到了多个人的头上。所以虽然是同一个部门的,但是每个人管的类别不一样,对自己的那一片,可能比较熟悉,但是却没有一个统领的人清楚他们整个部门的所有流程。部门主管是管大局的,而小不点们做好自己的工作,不出差错,能准时地要到下面人的数据已经阿弥陀佛。看过总公司的汇总表以后,我觉得,他们的工作实在太痛苦了,而做那么痛苦的东西,居然还可以一直坚持下来不出差错,简直让我叹为观止。如果要我临时顶替他们的工作,显然,我是做不来的。如果要我熟悉上手他们的东西,起码得两三个周期。或许我在一个周期以后,在了解了他们的逻辑之后,我开发一些快捷的方式处理数据。因为我是一个粗心大意的人,我没办法人肉一次又一次去完成一些机械的东西,那样的话,我肯定会出错。还不如开发一些程序出来,让我可以避免出错,同时可以尽可能地懒惰。

我觉得如果未来这套系统真的可以成功的开发出来,总公司的人肯定可以减轻很多工作压力,但问题是,软件开发出来,顶多只能解决你正在承受的压力,但是人不可能永远只停留在那个层面上。软件开发有个尽头的,对方不可能一直帮你做更新,但软件一旦不更新,跟不上时代的节奏,最终肯定悲催。因为政策不断在变化,说不准什么时候就会有一些突如其来的事件。比如谁也料想不到2020年初中国会爆发新冠肺炎疫情,于是湖北省的中央储备被紧急调用了,而且,还被调用了多次。幸好这一次是湖北,如果下一次轮到广东呢?

越到关键时刻,越应该体现我们的价值,但我们真的懂得如何兑现我们的价值吗?

2020-01
3

碰撞中改进

By xrspook @ 10:29:43 归类于: 烂日记

有一句类似这样的话“数据汇总时流的汗就是数据录入时脑子里进的水”。跟别人对数这种事,通常来说都不会太顺利,反而我喜欢跟系统对数。因为系统都是按照一定的逻辑整出来的,而我也有我的逻辑,两个东西碰撞,很容易找出差异。但跟人对数就很不一样,尤其是跟不同的人对数,那就更加麻烦,不同的人有不同的手法。不同的汇总方法最终会让你无比纠结,有些数据没有算进去,有些数据直接漏掉了,还有些数据完全是手误。没有算进去的那些可能是故意为之,漏掉的那些有可能是一顿懒惰之后完全不知道还得有那个操作,还有那些手误简直就是一个未知的谜,你根本说不清到底会以什么形式出现。有可能多打一个数字,也有可能是数字颠倒,当你找出那个手误输入以后,你会马上明白到那是怎么一回事,但是要找出那个东西,又谈何容易。

为了保证我汇总的数据不会发生这些问题,所以除了明细数据我需要每天纠结以外,整体的数据我也必须每天核对。有些数据是没办法每天核对的,即便你每天都做明细。因为有些东西必须合并起来才有真正的意义,比如要算清楚每条船的数量,而那条船又卸了好多天。如何解决问这个问题,从前我也死过不少脑细胞。后来我创出了某个方法,但是还是会有点麻烦,最后我只能得出明细的数据做给一个表,汇总的数据做另外一个,然后定期核对,这样能稍微解决问题,而这一招是我昨天和别人核对过数据以后才最终决定的。

我不明白他们为什么要以那种方式汇总。做一个明细表格,掉头还加一行完全无所谓的标题,我个人觉得那是毫无意义的,毕竟那个表不是某个报表,需要打印出来。其次,单元格的合并也是多余。第三,入库跟出库分作两列,看上去没什么问题,但是如果我要一个汇总数呢?明明在其他类别里面已经说明白了,那是出的还是入的,是车的还是船的,也就没必要把数据分作多列,毕竟这不是要算一个库存数。只有出入库数量而没有初始库存以及损溢倒仓转入转出之类的东西,根本没办法算库存。数据分作两列,要做数据透视表还得费劲2合为1。高端一点的做法或许是将二维变成一维,低端一点的做法是直接加一列,把那两列的数据加起来,因为按照那个设计表格的人的思路。入库和出库的数据只填其中一格,所以只要加和两个单元格,最终得到的就是出库或者入库的数据。再来一个万能的数据透视表,需要汇总的数据就能轻易地分类开来。有一定的规律以后,自然可以和其它数据透视表汇总出来的数据做核对。但即便我这么干了,还是很难分得清某些特殊情况。比如某一条船来了很多次,每一次又花了好多天才完成。有些时候是一周来一次,但有些时候一周来两次。当你很久都不汇总一次数据,你怎么知道今天这条船的数据跟后天的要不要加和在一起呢?如果你每天都干,你肯定会知道这是一条船,只是中间有一天天气不好不能作业,但是今天和后天的数据加起来才是一轮操作。这种东西理论上逻辑很简单,但显然,我们那些破系统没有考虑到这种情况,所以得人肉关照。

软件是人设计出来的,但如果人没想到该用什么逻辑去处理的话,软件不可能超越人,让使用者觉得得心应手。

© 2004 - 2026 我的天 | Theme by xrspook | Power by WordPress