高效报表开发人员常用的五件武器

高效报表开发人员常用的五件武器

五件武器

做数据的人,如果没做过报表,数据生涯是不完整的,但如果仅仅做报表,不经常思考进而革命,就会陷入骡子般的生活,每天转啊转,很辛苦,但很难获得认可,如果你是公司内一名报表开发人员,如果你已经干了很多年,你已经有点经验了,但你可能已经有点抱怨,每天被业人员的事务性工作持续打扰的时候,但如果你希望进一步证明自己,有颗奋发向前的心,那你应该停下来,看看我这篇文章,也许该是你涅槃的时候了。这里有五个观点,也叫五件武器,“长生剑、孔雀翎、霸王枪、碧玉刀及箱子”,与大家分享。

1、换位的心态

长生剑-只有笑才能真的征服人心

我想,很多报表开发人员都会有这个感觉,业务人员报表总是东提一张西提一张,拼命的催进度,动不动就是领导要,还大量重复,口径乱七八糟,报表数据一不对就埋怨,换人如换马灯一样,今天我对口你,明天换个新人,有没有一点基本的章法啊。

但换位思考一下,要承认,业务人员岗位很辛苦,前端市场变化万千,现实的一线KPI的压力,导致他们更多的考虑的是短期的事务,因此他们表现的总是很急,同时报表仅仅是他们工作中的一环,的确没精力来考虑报表如何做的问题。因此在与业务人员得沟通中,心态不能失衡,站在公司和他人的角度看问题,能够想通很多问题,你应该致力于解决主要问题,而不是教业务人员怎么做(可能有争议,但我觉得这样做前景很暗淡),从更广的角度看,报表是你的专业和生计,而对于业务人员不是,甚至仅仅是个过客。多笑,才能与业务人员和谐相处。

2、主动的意识

孔雀翎-真正的胜利,并不是你用武器争取的,那一定要用你的信心

中国移动对于业务支撑工作提出过一个词,叫使能者,意思就是要更主动的为业务服务,要能提前想,提前做,而不是总是跟在业务后面。报表开发人员的主动体现,要能主动了解报表的业务背景,不要被动的去执行,因为业务人员对于报表的需求提出,往往只看到眼前业务的需要,甚至仅仅是领导的要求,他要完成的也许是任务,但不代表提得报表需求能实际解决面临的问题,或者它给的需求是非常片面的,后患很多。

举个例子,以前省公司业务人员提得报表只关注地市维度,但实际县市甚至片区也需要,需求中往往不包括,如果你很老实的去实现了这张报表,地市人员会发现没有县市维度,它也会提出片区维度的报表,由此一环接一环,一个企业的报表会达到几万张甚至十几万张的程度之多,谁的错?我们为此付出的代价是如此之多。

报表开发人员如果能站在公司的角度去思考报表的制作,就应该有信心主动的提出更好的报表设计方案,你不仅要解决当前的问题,也要尽力解决未来可能的问题,也许一开始你觉得很痛苦,但后面做报表就能海阔天空。你又会问,可能吗?太理想了吧?这个就是专家和普通表哥的区别。

3、成为复合型专家

霸王枪-一个人只要有勇气去冒险,天下就绝没有不能解决的事

坚持学习

公司经常提我们要打造综合复合型人才,对于报表开发人员,所谓的复合就是你既要懂业务,也要懂数据,由于要懂数据,你需要对我们的系统有所熟悉和了解,这个是真正的复合人才。但这并不是随着你经验的增长而自然能成为专家的,如果你缺乏学习能力,你在做报表的2年以后,你的能力基本很难增长了,很多表哥表弟自认为守着自己懂的一点报表知识而能长期屹立不倒,其实完全不是。专家型的人才不是那么容易,它是对你知识的广度,深度的极大的考验,在一般的实践中,你很难获得,所谓每个行业要成为专家起码要有1万小时的经验,这个经验我认为是学习。

更懂业务

从业务的角度讲,你的目标是比业务人员更懂业务,也许你觉得很难理解,我举个例子,比如移动通信中有离网这个指标,很多业务人员认为离网就是简单的一个指标,但在IT中,离网包含主动销户、账户欠费销户等更多的含义,离网的业务流程系统实现其实非常复杂,每类离网实际表达了不同的业务含义,业务流程的制定是几代业务人员积淀下来的成果,没有一个当前的业务人员能理解的这么透,而系统中则完整的记录了下来,你应该成为这个知识的传承者,才能够作出一张超越业务人员得精彩绝伦的报表,请问问你自己,你行吗?

更懂数据

接下来谈数据,作为表哥,你自己评估下,对于企业的数据了解多少,你有每个系统的数据字典吗,每部数据字典每张表每个字段直至每个枚举值你清楚吗(起码你能尽快查询到也可以),数据是整合和融合,即使你认为你管得报表用不着哪些数据,但数到用时方恨少。

因此,每个表哥都应该要有毅力把你公司的所有报表,数据和系统翻一遍,比如我的一个厉害的同事,其在进公司的前半年,就把BOSS、CRM的所有数据字典,留存的所有报表及代码都看过一遍了,实习回来的时候,就能够独立面对业务人员谈报表了。记得有一次跟某部门谈需求,对面黑压压10多个产品经理和领导,做报表的他就能单刀赴会,对于每个产品经理的产品口径可以胸有成足的谈清楚口径,指出系统中数据的实现方式,因为业务人员一开口,脑子里就有数据在系统中的流图了,总是要比业务人员能想的深一点。

脸皮要厚

要成为报表专家,特别是作为一个后端系统表哥,你还要脸皮足够厚,因为你的数据来源于源头,你得总是向源端开发人员请教,甚至要实现的代码,因为文档和数据字典是死的,做报表最好的老师是业务系统的开发人员,我在进公司的前半年,把业务系统的大多开发人员骨干都混熟了,我总是要去打搅他们,大量的知识是敲打出来的,其实很多关键的信息在设计文档中根本不会有,表哥要踏实的做事,但跟老实是两回事。

在报表方面的权威,来自于你与业务人员一次次决断的回答,能做,不能做,清清楚楚,所谓的支支吾吾,都反映了你对于业务和数据的不理解,由此不信任自然产生,谁敢听你的呢?业务人员那么精明。

你的资本

以前很多公司都偏爱找咨询公司,高大上的方法论的确让人耳目一新,外面的技术人员也是一堆,但论综合性和可用性,我们的报表人员绝对超过外来和尚,多年的业务和数据沉淀是你最宝贵的资本。

4、努力化繁为简

碧玉刀-从容优雅,闲适自如,回归朴素和天真

报表本质

报表是由维度和指标组成,维度和指标的组合其实也能转化为更为丰富的指标,因此报表的本质就是指标的组合,但为什么我们总是有感觉有做不完的报表,我来剖析下,一个企业的业务和产品非常有限,因此本质上,关键的KPI指标是非常有限的,公司无论哪个层级的指标或报表都是幻化出来各种变种,对于无穷无尽的报表,我们首先要对于这些报表进行一定的分层:

  • 核心报表:这些报表指标是公司的核心,相对是比较稳定的,由于公司的产品有限,因此这些报表指标不会很多,管理层往往会看这套报表
  • 管理报表:为了完成公司的核心指标,会有一套执行跟踪的报表,这套报表往往是业务管理人员关注的,其数量其实不会很多,表达形式也是比较单一的
  • 个性报表:每个业务人员基于自身理解提出的报表,没有任何规律可言,怎么想怎么来

区别对待

要管理好自己的报表,针对不同性质的报表,要采取不同的策略,千万不要混为一谈,如何区分呢,就要看你自己的业务经验了,如果一张报表点击人员仅限1-2个人,基本是垃圾报表,就归为个性报表,当然不是绝对。

针对核心和管理报表,总是有限的和相对稳定的,曾经我们的系统上承载的报表达到过4000张,我花了大力气梳理过一遍,发现核心的报表仅仅400张,其它都是幻化和变种。对于这类报表,我们采取的策略就是划分业务体系,分门别类,然后全部指标化,总是先有指标,再有报表,然后通过指标的组装形成各种形式的报表,你可能会问,各种报表指标的维度又不一样,你怎么自由组装,但实际上,一个企业的数据通用维度是非常有限的,比如时间,区域,品牌等,超越这些维度的指标更是有限,所谓大势已定,特别例外的特别处理,90%的稳定报表是可以指标化的,也就是可组装的。

报表的指标化是门学问,涉及分类,命名,数据存储和处理等的调整,今天我这里点到为止,有机会再专门谈。有了指标化的东西了,你就有可传承的东西了,指标是任何报表开发人员的操作基本单元,你要致力于完善你的指标体系,而不是致力于去实现一张张报表,你每天开发的报表从原来的应对变成自己知识的传承,多么有成就感的事情。

报表可视化

基础打好了以后,你需要一套可视化的报表指标配置工具,因为你呈现给业务人员的是基于这些指标的组装和不同模式的展现,我其实不太喜欢产品化的报表工具,因为它束缚了我们广大表哥的手脚,报表层面做得漂亮与否,比如多表头、图形啥的,其实关系不大,因为这些功能属于附属角色,有当然好,没有也无所谓,但不能本末倒置,业务人员对于报表追求的永远是更快更准确的数据,当然要搞门面工程是另外一回事。

个人比较喜欢简洁的报表门户,指标是你的资源,用户看到的应该是自己的报表,而不是琳琅满目的各类报表商品的展现,好像很丰富,但没有多大的意义,人家google这么多内容都这么点门户,真正的某个客户需求仅仅是10几张报表,为啥要搞得那么复杂。

个性化要让业务人员自己做主

最后谈个性化报表,其实终极解决办法是开放数据,提供PaaS平台给业务人员,或者叫作自助报表工具啥的,他爱怎么折腾就怎么折腾,当然业务人员的确没能力,你也只能实现,但注意优先级和重要程度跟前面是完全不同的,从大了讲,为个人单独服务的报表是对于企业资源的浪费,在个性化报表中,其实会掺杂着核心指标,注意一定要复用,不要单独再去开发了。

说到这里,你可能还不服气,哪有这么容易,现实要复杂的多。但至少我认为自己从事的通信行业业务算复杂了,应该具有一定的代表性,当初跟业务人员提出这些思路和实践的时候,业务人员是支持的,因为于他们有利。

5、善用技术解决问题

箱子-天外有天 没有谁能真正无敌

不仅仅是业务和数据

报表不仅仅是数据,它涉及数据采集、数据处理,数据展现等系列技术,作为一个表哥,理解业务和数据还不够,你还需要掌握点技术,因为一张报表生成和打开的速度,极大的影响了用户的感知。

可能你已经是专家了,但人家总是跟你抱怨,你的数据是准了,但展现太慢了,能不能提速几天?谈到技术,我们又进入了一个新的领域,你可能会说,能掌握这么多吗?但 务必关注用户体验,解决最后一公里的问题。

从现状入手就做优化

首先,要立足当前的技术环境,去优化现有的系统,其实可优化的空间太多了,前提是如果你真得愿意去深入了解,从大了讲,你需要学习点仓库建模的知识,让数据组织的更合理,复用程度更高,从而运行的更高效,让你的报表基于数据模型出来是一种解决方式,什么,又要学习新的东西?

数据仓库虽然本质上是为决策支持服务的,但报表也是其上的一个应用,现在很多公司的报表都是基于数据仓库的。比如原来只有按月去汇总关联某些表,得到模型,为月报表提供支撑,但你可以搞成按日去汇总形成日模型,从而更好的支撑日报表。

当然,不建模也可以,你可以用大数据技术的理念去解决传统的问题,“大拆小,分而治之”,不用什么大数据技术,现在就能做,比如把一张报表从原来的分地市串行搞成并行,报表出数速度是成倍了提,任务调度依赖做些优化,也可以极大提升报表的生成速度,解决方法不胜枚举,但如果还不行呢?

大数据技术升级你的引擎

你要与时俱进,学习点大数据技术,我举个例子,供参考,永远没有解决不了的问题,以一个报表系统的演进来说明,仅示例:

(1)首先全省串行跑数据

(2)太慢,改成分地市并行跑,能拆就拆吧

(3)太慢,优化调度,采用依赖算法

(4)太慢,研究数据模型,提升复用度

(5)太慢,ORACLE拆中心,分成4个中心一起跑

(6)太慢,抛弃传统ORACLE,用一体机

(7)太慢,抛弃ORACLE,用MPP数据库 GBASE

(8)不满足实时查询,采用HBASE

(9)无法多维分析,采用IMPALA

(10)无法实时展现,采用流处理IBM STREAM

DT时代,表哥也需要与时俱进,3年之内,我在的企业传统的技术基本都淘汰,大数据技术开始完全替换传统的技术。但掌握这么多技术哪有这么容易,但表哥要做的起码是要跟上时代的步伐,知道哪种技术适用于你,用传统的数据+大数据技术,创造新的应用场景,向着在线化,实时化,可视化发展,让它迸发出新的能量,为企业的发展提供新的动力吧。

结语

大数据时代来了,虽然挑战很多,但给了表哥一个涅槃重生的机会,需要极大的延伸自己的视野。我做报表8年,不算特别资深,但这些感悟是真真切切的,希望对于刚步入表哥行业的朋友,给点方向层面的建议,里面谈了很多,很多思路争议性很大,也很容易受到可落地性的质疑,我学习学习老罗的说法,大家就帮我当成知识和经验的搬运工,不做好坏的评论,仅供大家从另外一个角度去思考报表开发。

本文为专栏文章,来自:与数据同行,内容观点不代表本站立场,如若转载请联系专栏作者,本文链接:https://www.afenxi.com/15336.html 。

(0)
与数据同行的头像与数据同行专栏
上一篇 2016-03-25 12:00
下一篇 2016-04-08 23:39

相关文章

关注我们
关注我们
分享本页
返回顶部