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

解决方案 »

  1.   

    定制,怎么定制,我咋不知道呢?我还以为是外包给别人呢?
    我感觉坐报表的最大麻烦真如上文所说的: 
    和数据库操作简单的报表工具画报表格式难
    和excel类似的呢?准备数据又难?
    更要命的是,用户需求一变化吧,维护好像更难?
    大家以为呢?
      

  2.   

    报表是个主观性太强的东西,通常格式方面很难让客户满意,不如做个转换成EXCEL的接口,让他们自己去折腾
      

  3.   

    也许用类似于Inforpath的方式比较好.
      

  4.   

    给定格式,你写数据,这样的样报表应该很容易做了吧.Crystal Report好像有个推模式,据说是很好用.
      

  5.   

    报表确实麻烦,确实遇到了文章里说的部分问题。
    而且不要期望用户会自己对报表进行2次开发,我遇到的用户Excel和Word都用不好,保存和另存为都分不清。
    所以呢只能是你要求什么就给你改什么样,没有什么办法。