集算报表对润乾报表的优化精简

来源:互联网 发布:touch.js api 中文 编辑:程序博客网 时间:2024/05/05 01:39

        润乾报表是优秀的报表工具软件。在发展过程中,润乾报表的功能越来越多,难免会出现需要整理和优化的地方。作为润乾报表的下一代产品,集算报表对润乾报表进行了新增和精简,实现了多方面的产品提升。

一、集算报表新增功能

        1. 集成集算器,使计算与呈现分离

        集算报表内置了专业的结构化和半结构化数据计算开发工具:集算器esProc,在增强报表复杂外观展现能力的同时,还能解决报表复杂的数据源计算问题。

集算器采用网格式的编程方式,具有:分步计算,更彻底集合化,有序计算,对象引用、支持游标等特性,敏捷的语法体系使计算实现更轻松。集算器集成开发环境(IDE)提供单步、断点等多种调试功能,降低了开发难度,提高了开发效率。

        集算报表和集算器之间采用低耦合接口传输数据,实现了计算和呈现的分离,可以充分发挥报表展现层和计算层各自的优势。

        集算报表新增层次数据源功能,可从集算器取得主从结构或带明细分组的数据集使用,无须在报表中再次关联或分组,可以获得更高性能。

        集算报表新增脚本数据集功能,使得数据集具有数据源取数后,再利用集算器表达式计算的能力,适用于脚本比较简单的情况。脚本中可以直接使用报表定义的数据源和参数完成数据查询和过滤,也可以在一个脚本中输出多个结果集。

        2.支持HTML5和SVG统计图

        集算报表的生成的网页符合HTML5标准,可以在多种浏览器中正确展现。

        SVG作为一种矢量图形,具有任意缩放而不失真、可以被高质量打印、文件较小、交互性强等特性,成为当前一种主流的图片格式。集算报表中封装了SVG生成类库,可以生成SVG格式的统计图,方便用户在PC或移动端查看报表统计图。

        3.新增自定义统计图,美化统计图色彩

        集算报表内置的集算器提供了强大的自定义图形功能,可以使用户方便自由地绘制出自定义的统计图。用集算器的图形编程也可以用来绘制其他图形,如地图等。

集算报表还对统计图效果进行了美化,提供了更多、更有具表现力的渐变色统计图。

        4.优化表达式风格

        集算报表优化了润乾报表表达式的语法,采用了简洁的集算器风格表达式和参数规则,提高了报表制作的效率,降低了报表制作难度。

二、对润乾报表的精简

        1.取消填写功能

        集算报表专注于解决报表复杂的展现格式和计算方法。对于填报功能来说,格式、计算比较简单,但前端输入功能却更复杂、重要,比如:填报类型、数据校验和自动计算等等。填报和报表功能目标不同,同时实现在一个产品中会大大增加复杂度,容易出现错误并降低系统稳定性。

        集算报表去掉了填写功能,减少了系统复杂度,提升了系统稳定性。

        2.取消语义层

        语义层的设计初衷是:希望业务用户在技术人员构建的语义层基础上自己制表。但是,在实践过程中发现,业务用户制表的困难更多地在于数据源准备,这不是报表工具能解决的。而使用语义层却会增加报表单元格表达式分析的复杂度。

        集算报表去掉了语义层,放弃针对业务人员的应用目标,专注于程序员开发报表。这样,减少了表达式分析复杂度,可以更进一步提高系统稳定性。同时,比较复杂的计算交给集算报表内置的集算器来完成,可以提高复杂计算的编程效率,解决报表数据准备的困难。

        3.取消附加数据集

        润乾报表的附加数据集功能用于简化关联数据集的书写复杂度,但配置过程较为繁琐。

        集算报表内置的集算器以及配合的层次数据集已经完美的实现了报表数据源的关联问题,所以取消了附加数据集。

三、新增和精简带来的产品提升

        1.性能大幅提高

        集算报表实现了呈现和计算的分离,大幅提升了整体性能。

        首先,集算报表内置的集算器只负责计算,不需要考虑展现因素,可以采用更高效算法,对于分组等有数据关联的计算,性能有极其显著地提高。对于过滤排序等硬遍历式计算虽没有较大提升,但因为运算不带有展现属性,所以性能还是有所提高。下面是一个具体的测试对比结果:


        第二,集算报表的展现部分从集算器获取的是计算好的数据集,省去了复杂的格间计算、大量的隐藏行列等,可以专注的优化各种复杂的显示功能。简单格式的报表尚不明显,复杂格式或者大量单元格的报表性能得到了有效的提高。

        第三,随着多核多CPU服务器的普及,如何充分利用CPU成了一个需要面临的问题。润乾报表经常面临并发访问用户数不多、但是单线程计算量大的情况,此时采用多线程并行能力是提高CPU利用率、提升计算速度的有效办法。

        由于集算报表将计算层单独剥离出来,因此可以在计算层支持多线程并行计算,集算器提供了方便快捷的数据拆分办法,还提供了先进的游标机制,可以高效地把并行结果进行归并,极大地提升计算速度。

        集算报表还可以与独立的集算服务器结合,形成多机并行的集群计算体系,更进一步提升报表计算速度和数据处理容量,实现大数据报表。

        2.  优化数据组织

        集算报表可以通过内置的集算器方便的处理文件中的数据,从而支持将数据从数据库中移出到文件中外置存放。集算器将数据外置的好处是:读取速度、计算能力、扩展能力有效提高,成本大幅降低,系统更易开发和管理。

        集算报表支持将数据库和文件系统结合起来作为数据来源,可以发挥两者的优势规避各自的问题,达到最佳效果。其中,数据库存放变动较大的最新数据,文件系统存放变动较小的历史数据。

        3.多样性数据源的支持

        集算报表内置的集算器可以实现:多种来源,统一计算。

        集算报表支持采用标准的jdbc接口的方式访问关系型数据库,可以共享应用服务器的连接池,管理很方便。也支持通过集算器访问各种关系数据库、txt、excel、HDFS、http、json、mongodb等多种数据源。

       4.更丰富美观的统计图

        集算报表对内置的统计图效果进行了全面美化,更能满足用户对图形效果的全面要求。如下图:


        集算报表还支持集算器绘制的自由统计图,以实现特殊用途的非标准图形。如下图:

        5.对移动应用的支持

        集算报表通过集算器可以支持json和http数据源,支持html5和SVG图形,在保证报表效果的基础上实现了更小的传输流量,适合移动互联网的应用。


0 0
原创粉丝点击