报表报表,顾名思义,有“报”也有“表”,是由“报”和“表”两部分构成的。“报”指数据的汇总统计,即将数据从数据库中取出按一定规则运算统计后 排列。“表”则指格式,数据需要放在格子中,才能清楚定位,体现数据之间的层次与对应关系。“报”和“表”两方面需要完美结合,才能把完整的报表问题解决 好。
目前很多国际品牌的报表工具,基本上都能把数据库的数据取出来运算排列制作出动态的变长统计报表,也就是“报”的能力不错。但“表”的功能就不 是很好了,一般都要采用控件拖放的方式编辑表样,靠一个个矩形边线重合对齐画表样,一条直线要拼接多条线段,搞个多层表头累得要死,而且还和分辨率相关, 好不容易在屏幕上画齐的,打印出来又不整齐。
还有一类仿制Excel的产品,合并格、设边框都很方便,可以很快地画出一个复杂格式的报表式样来,可惜,又没有数据处理接口,除了简单的格内 运算外,与数据库打交道的过滤、分组等统计运算都要自己做,最要命的是不能自己完成变长报表,还要编程去动态插行插列。最终这些“报”“表”分离的报表软 件,给用户带来了许多苦脑。
报表之苦
那么,中国报表的难点到底在哪里?
普遍的一种说法是中国报表样式复杂(比如有斜线),其实中国报表的难点远不止这一处,相比之下,斜线这种样式问题还是只要费工夫就能解决的小问题,而中国报表还有大量费了工夫也极难解决的大问题,总结如下:
“用”之累 “用”指应用集成能力,即报表工具能否被很好地嵌入集成到应用系统中。当前业界的高端报表工具均采用独立服务器方式,与主程序沟通要通过网络协议,严重影 响性能,而且控制力度减弱;独立服务器都会有自己的用户权限管理机制,对应用而言永远都不够用,却要应用程序向这个规则靠拢,无端浪费工作量;而且独立服 务器无法享用服务器的各种优势能力,如共享连接池、集群能力等。
“报”之难 “报”指统计汇总能力。中国报表最困难的地方是数据统计。中国报表具有的多数据源、整表规则分片、不完全划分、跨行组运算及独立格间运算、行列对称等诸多 特征,是传统报表工具无法满足的,常常导致要求编写代码准备数据或进行子表拼接才能完成一个复杂报表的制作。
“表”之烦 “表”指展现样式能力。表样格式复杂也是中国报表比较麻烦的地方,中国报表均要求有整齐的格线,多层表头层次分明。业内有名的报表工具一般采用控件式拖拽 的绘制方案,画起来非常烦琐,且还与分辨率相关,屏幕与打印不一致,而中国报表对打印样式要求向来很高。
“填”之乱 “填”指填写上报能力。中国报表几乎都有填写的需求,前端需要支持各种填写控制,如编辑风格、自动计算、合法性校验等;填写好的数据能够方便地写入数据库 以进行下一步的统计汇总;还需要能支持离线填报和多级汇总填报等。而很多报表软件不支持填写能力,一般的填报解决方案都不能自动处理数据入库的问题,导致 相应的编程工作量仍然很大。
报表之惑
中国报表的复杂是举世公认的,用业界常见的传统工具去完成中国报表会很困难。但这些复杂的报表是否很有必要,还是仅是庸人自扰?
一种常见的看法是:中国报表的复杂目前是现实,