如何才能做好一张报表?

楼主
学无止境,精益求精
文/傅一平

只要是做BI的,无论在哪个具体岗位,报表总相伴。假如你是取数人员,业务人员设计的取数样张,大多就是报表原型,只不过还没发布;假如你是报表开发人员,你的所有工作就是开发并发布它;假如你是专题项目人员,你所做的专题的基本组成要素就是模型+指标+报表+可视化交互;假如你是运维人员,那你务必保证公司的核心报表按时发布。

报表是维持公司正常生产运营的一部分,领导关注企业发展,需要业绩的报表,分析师关注问题,需要从报表发现异动,财务人员关注收入和利润,需要从报表入账,营销人员关注业务发展,需要从报表获取执行情况,一线人员关注报表,需要了解自己的付出和所得。

因此,报表的价值毋容置疑,它是企业生存的基本要素,不可或缺,而BI其他的内容,则有点像奢侈品,用了也许可能更好,但也可以不用。虽然从10多年前开始,BI专题渐成潮流,但报表在BI中的地位始终稳如磐石,假如BI没有报表,甚至让人怀疑BI存在的价值?

现实中,业务人员往往并不是通过操控BI的分析工具获得信息和知识的,取数或报表+EXCEL+PPT似乎还是主流形式。

报表是如此重要,因此谈报表的制作就有较大的意义,它几乎跟企业中的每个人都息息相关,但做出一张报表容易,但做好一张报表很难。

很多报表开发人员都会有这个感觉,业务人员报表总是东提一张西提一张,拼命的催进度,动不动就是领导要,口径乱七八糟,好不容易上线了,就埋怨报表出数太慢,整天要求提速,速度提上去了,就抱怨质量,一发现异动,首先怀疑报表的数据出现问题。

”领导说,这个月这个报表数据异常啊,我们市场上也没做啥事,是不是数据有问题啊?好好查查!”

”这个月我们营销做的很多,用户数肯定不止这点,是不是报表没统计这部分用户啊,好好查查!”

作为报表开发人员,你总是被巨大的报表负担压得喘不过气来:

”报表太多了吧,不大的企业,各种报表上万张,是人干的吗,而且只增不减,不光系统亚历山大,业务人员个个还说不能下线?”

”报表可是业务人员提的,但搞了这么多指标,同样的命名都不同的口径,不同的人不同的口径,数据不一致,是我的错吗? 还老说我的数据有问题,到底是谁的问题?”

”这么短的时间,哪可能这么快开发完成一张报表,要速度就没质量,你看着办,我又不是神仙?什么,又是领导要?”

”我明明规划好了目录,但报表太多了,情况太多了,根本不知道如何归类? 这张报表该发布在哪里比较容易被找到呢?”

”好不容易发布一张报表,总算满足了省公司要求,但地市也要,县市也要,片区也要,TMD,还需要报表指标的用户清单,以便一线考核和核查,但你们提出的时候,根本没考虑这些维度啊?能怪我吗?”

这些问题时常在,但要解决这些问题,首先需要学会换位思考,理解一下业务人员,也理解清楚自己的使命。

IT可能有专门的岗位负责报表需求、开发和维护,但业务部门鲜有专门负责报表的,往往某个业务的负责人就是报表需求的提出人,报表仅仅是他们众多工作中的一环,因此不要奢望业务人员对于报表设计的科学性、规范性有多大的考虑,更不要对于业务人员提出报表规划的要求,这就好比以前经常提的业务架构,有多少是真正能落地的。

明天怎么样,业务人员自己都不清楚,因此,屁股决定脑袋是常态。用最短的时间设计完报表,然后扔给开发人员尽快上线看到数据,就是他们最大的诉求。

从更广的角度看,报表是你的专业和生计,而对于业务人员不是,甚至仅仅是个过客,君不见业务人员流动如跑马灯,而你仍然在那里。

因此,做完一张报表是你和业务人员共同的职责,做好一张报表则是你的职责,特别是如果你希望做出一张精彩绝伦的报表,那也是很专业的事情,非一般人所能做到,明白这一点是解决问题的前提。
那么前面那么多问题,怎么破? 报表到底难在哪里?

首先来谈谈报表数量的问题。

即使如运营商,资费套餐这么复杂,增值业务也不少,但真正需要的报表可能也不超过上百张,号称报表上万的,往往是报表管理出现了问题。

其实报表的数量跟你对于何谓一张报表的定义有关,即使是一张报表,假如维度很多,就可以幻化出成百上千的报表视图,这个你懂的,因此,首先定义好何谓一张报表,是你管理好报表的一个基础。

笔者给出一个建议,也是在实践中做成功的,就是一个业务仅做一张报表,实现报表的收敛,曾经将企业的2000张报表,减少到200张。要知道,做同一个业务,由于企业不同的人,不同场景,不同理解,不同角度,都会提出针对一个业务的不同报表,你不能总是忙于新增报表,而应尽量在原有基础上去扩展。

有些时候,即使是不同的业务,假如类型相同,指标相同,也可以仅作一张报表,不同的业务作为维度即可。

做报表,要尊重历史,懂得传承,不要轻易去增加报表,同一个业务,搞出两张报表,就是不一致噩耗的开始。
接下来谈谈报表标准化问题。

企业的核心业务不会大变,因此,真正对于企业运营重要的报表其实是非常有限的, 当然报表自上而下会有所扩展,但还是有限的,这是报表标准化的基础,对于没有稳定性的东西,就没有标准化的意义。

所以我们认为报表太多,往往是各类业务人员的奇思妙想造成的,并不是说他们提的报表太糟,而是因为你自己没有基线和标准,无法给他们规范和约束,当然人家报表就会海阔天空, 比如当你面对一个业务新人,无论你如何晓之以理,唯有规范是有用的,否则他就会使唤你,并搞出自己的一套垃圾报表。

要实现报表标准化,建议从指标的角度去梳理业务和存量报表,共性或相似的指标会非常多,比如不同命名,不同角度的指标往往可能是一个指标,梳理出企业的基本指标体系是报表管理人员(或开发人员)的使命,标准化包括指标分类,指标命名,业务口径,技术口径,实现方式等等。

你去看看企业的经营分析报告,前面一部分,往往就是企业的基本面指标,那可是非常稳定的,当然,还需要进行一定的扩展,因为一些执行性的指标也非常重要,比如公司上层关注渠道健康度指标,可能一线则关注渠道受理量,同时企业年初或季度会新设立或淘汰一些指标,但这类变动不会太大,因此对于企业的业务越了解,就越能抽象出这一层指标。

有了基本指标,结合基本的维度,他们的组合,就形成了企业的指标体系,而基于这个指标体系,通过自由组装,则可以幻化出无数的报表,这是报表标准化的基础,能做到这一步,非常不容易。

曾经翻过企业的所有报表指标,不同口径不同维度的名义指标有5-6000个,但共性的指标也就只有300-400个,其他要么是变种,比如杭州受理量与杭州下沙受理量,要么是特别个性的指标,关于个性指标如何处理,这个后面再表。

所以要指标化,是因为报表的基本的粒度就是指标,降低报表的冗余,必然是基于指标这个最小粒度去实现共性的提炼和组合。

指标的提炼是巨大的工程,但这个是实现报表数据一致性,减少重复报表开发,降低系统开销的战略性举措。

做报表的,虽然事务工作非常多,但还是要抬起头来,系统思考一下,报表的路怎么走? 阿里提出了“小前台,大中台”的概念,实际道理是相同的,标准化就是在做报表中台的事情,你要致力于完善你的指标体系,而不是致力于去实现一张张报表,这个意义深远。

报表中台对于报表人员的综合素质要求很高,既要有宽广的业务视野,也要有深厚的数据沉淀,辅以沟通协调能力,造诣甚至远超一般的业务人员。

另大量分析和跟踪报表个人色彩浓厚,没有共性,生命周期也可能很短,没归纳的必要,笔者给的建议就是,千万不要将其跟标准化的东西混在一起,可以开设一个个性化目录,纳入这些报表,让其自生自灭。因为根据笔者统计,企业可能有50%以上的报表每月访问用户只有1-2个人,其价值非常有限。

没必要让每个业务人员满意,做报表是非常严谨的事情,如果是非常个性化的报表,宁愿取个数或搞个定时脚本每月导出给他,也不要让其打乱了报表体系,这些报表除了增加噪声,对于公司的意义不大。
但无论是标准化,还是控制报表数量,都会涉及到你的报表理念及与业务人员的微妙关系。

这里来谈一谈。

首先,比业务更业务。也许觉得很难理解,举个例子,比如移动通信中有离网这个指标,很多业务人员认为离网就是简单的一个指标,但在系统中,离网包含主动销户、账户欠费销户等更多的含义,离网的业务流程系统实现其实非常复杂,每类离网实际表达了不同的业务含义。

业务流程的制定往往是几代业务人员积淀下来的成果,没有一个当前的业务人员能理解的这么透,而系统中则完整的记录了下来,你应该成为这个知识的传承者,才能够作出一张超越业务人员的报表。

其次,把报表当成产品来做。将报表当成产品,我始终认为真正的报表是为企业开发的,业务人员只是报表的需求提出者,因此,你还需要去理解报表提出的背景,哪些是这张报表的用户,你需要尊重提出报表需求的人员,但对于报表开发要有自己的想法和主导权。

因为大多数时候,报表需求提出者只关注自己当前的诉求,但一张报表要有生命力,还需要考虑更多的因素,包括指标是否要标准化,报表怎么展现,存储多长时间,打开速度如何,能否复用以前的指标,粒度是否要满足一线要求,是否清单要能保留,是否有同样的类似报表等等。

报表开发人员如果能站在公司的角度去思考报表的制作,就应该有信心主动的提出更好的报表设计方案,你不仅要解决当前的问题,也要尽力解决未来可能的问题,也许一开始你觉得很痛苦,但后面做报表可能就会海阔天空,很难,但一张好的报表,真得价值很大。

再次,成为一个使能者。中国移动对于业务支撑工作提出过一个词,叫使能者,意思就是要更主动的为业务服务,要能提前想,提前做,而不是总是跟在业务后面。报表开发人员还是要有主人翁意识去看待报表这个事情,毕竟报表是自己的立生之本,为什么不把它打造的跟更完美一点,你不做?谁做?或者说,你不入地狱,谁入地狱?

业务人员的心态是很微妙的,有人愿意去做一张更好的报表,何乐而不为呢?可能一开始有抵触情绪,似乎动摇了其权威,但从长远的角度来讲,业务人员会接受的,甚至他们其实也希望理理报表体系,指标和口径定的清晰一点,只是真的有心无力。

当然实现时间是个问题,但总是有解决办法,比如先临时取个数呗,办法总比问题多。

随着积累越来越多,报表中台的威力会逐步发挥出来,可复用的东西越来越多,不一致现象越来越少,一些潜在的问题会逐步减少,报表的一些根本性问题会得到改善。

做报表,最欣慰的就是看到自己的实现的报表常年还在提供服务,而不是1-2年后就完成使命,变得无人问津,甚至上线即下线,那也是很悲哀的事情。

当然,再好的思想,没有平台或工具支撑也是不现实的。

要生成一张报表从常规的开发来看涉及报表计算、报表开放及报表可视化三类平台支撑,它们分别决定了报表的生成速度、查询速度和好看程度,在这个大数据时代,也迎来了变革。

从计算的角度看,大数据时代还是需要升级传统的引擎了,MPP数据库似乎是比较好的选择, 比如GBASE,EXDATA一体机等,当然如果数据量小,用啥都可以。

从查询的角度看,报表指标标准化后,由于粒度和维度非常多,指标的量会非常大,因此传统的ORALCE啥的数据库往往无法支持,可以使用HBASE等数据库来支撑快速查询,比如上百亿的指标,用HBASE来做报表指标查询,也是瞬间的事情,搁在10年前,估计这种指标化的思想也很难真正落地,现在解决方案很多了,百花齐放吧。

从可视化的角度看,现在报表可视化产品也很多,当前开源漂亮组件已经很多了,对于大型的有开发能力的企业,采购这类产品必要性在降低,似乎自主开发或定制开发更好一点,特别是在数据量非常大的时候,比如要找个产品去对接HBASE也是挺麻烦的事情。

从自助化的角度看,有了好用的报表或BI工具,有了标准化的指标,什么自助报表啥的都不成问题,这也是其带来的巨大好处,每个用户都可以基于指标配置出个性化的报表。

无论是报表的指标标准化,开发人员的重新定位,还是平台工具的变革,可能有些企业早就实现了,有些企业则认为其不切实际,但无论如何,我们还是不能仅限于做成一张报表,而应致力于思考做好一个平台,做好一张报表,让报表更快速,更准确、更简洁始终是表哥追求的目标。

编辑于 2017-6-22 16:26  
编辑于 2017-6-22 16:27  
编辑于 2017-6-22 16:27  
编辑于 2017-6-22 16:28  
分享扩散:

沙发
发表于 2017-6-22 16:54:01
{:8_212:}棒棒哒
板凳
发表于 2017-6-22 17:06:01
说的不错,作者是有深度体验的。
但作为读者嘛,就觉得缺少实际案例,读起来有些干巴巴的,比较吃力。
地板
发表于 2017-6-22 17:32:36
tissot 发表于 2017-6-22 17:06
说的不错,作者是有深度体验的。
但作为读者嘛,就觉得缺少实际案例,读起来有些干巴巴的,比较吃力。

嗯,感悟居多~
5楼
发表于 2017-6-25 13:36:54
看了深有同感啊,一直在想一个就那些业务,怎么会需要这么多的报表,各种各样,也不知道有没有人看,而且各种报表口径不一致;同一个业务不同的人,也有不一样的业务口径,确实需要好好想一下怎么整理报表指标。
6楼
发表于 2017-6-26 20:05:29
yujie360 发表于 2017-6-25 13:36
看了深有同感啊,一直在想一个就那些业务,怎么会需要这么多的报表,各种各样,也不知道有没有人看,而且各 ...

7楼
发表于 2017-7-5 08:54:35
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

返回顶部 返回列表