线

报表工具 三种典型web报表工具对比

来源: 日期:2019-12-03 作者:admin

  本篇文章主要对三种典型报表工具进行功能对比:birt报表、润乾报表、smartbi报表。其中,birt代表了国外开源报表软件,而国内报表软件则以润乾报表和smartbi报表为代表,两者又可以从功能实现方式上进行划分,润乾报表是类excel的报表开发工具,smartbi则是基于excel的报表开发工具。选择这三种报表软件可以涵盖开源、商用以及不同的实现机制,个人认为是具有一定参考意义的。

  birt是一个Eclipse-based开放源代码的报表系统,它主要是用在基于Java和J2ee的web应用程序上。birt主要由两部分组成:一个基于Eclipse的报表设计器和一个可以添加到应用服务器的运行组件。

  Smartbi报表以为最大特色,用户在Excel插件的帮助下即可完成数据分析应用的设计,并发布到WEB应用中。

  润乾报表为常见的设计,非线性报表模型的实现与应用使开发中国式复杂报表变得更加简便高效,支持与Java项目的无缝集成以及跨系统调用。

  仅从功能支持性来看,smartbi和润乾报表涵盖了报表的基础功能,而birt则缺失了国内需求的一些必要功能,如填报、权限控制等。

  Smartbi提供了个人永久免费版和企业商业版,前者有3个用户数限制,而企业版价位在行业内为中间偏上;

  润乾报表提供了企业免费版和其他商用版本,前者没有用户数限制,后者在官方报价单上可以看到价位是行业内偏低的。

  Birt在国内可查到的资料很少,且没有BIRT的官方技术交流平台和技术支持人员,学习探索过程中的成本是比较高的;

  Smartbi和润乾报表的学习资料和演示视频很多,中文操作界面使用者更容易上手,且都提供了官方技术支持、论坛、交流群等方式,能够帮助用户快速解决问题。

  根据掌握的资料来看,birt支持简单的报表和图形开发,对于中国式复杂报表需要耗费的资源比较多,成本较高;

  Smartbi和润乾报表都支持较为复杂的报表开发,且都支持填报数据入库。在图形支持方面,润乾报表对于echarts的兼容性更好些;

  3)二次开发成 报表工具 本

  Birt本身是开源产品,提供的接口很丰富,功能很强大,但在一定程度上不适用于国内需求,对技术人员能力要求比较高;

  Smartbi属于一款比较完善的报表系统工具,开放的接口比较少;

  润乾报表提供了丰富的二次开发接口,可以在更大程度上给予用户定制开发的空间。

  Birt无技术支持,相对维护成本较高,而smartbi和润乾报表均提供了官方技术支持入口,便于协助用户解决实际开发过程中的问题。

  个人认为润乾报表相当于结合了开源与商用两者的优点,成本相对较低,适用范围比较广。

  birt报表是根据sql语句从数据库中查出所有的数据,然后一次性把数据加载完存到硬盘缓存分页展现。虽然当用户下次查询同样的数据时,可以读取缓存,不用再读数据库,但是性能上仍然差强人意。论坛对此问题的解决方法不甚详细,因此具体二次开发实现时问题还是比较多的。

  

  Smartbi一般来说都是一次性从数据库中读取数据的,不提供真分页功能;

  针对大数据量清单报表展现,smartbi也提供了对应解决方案——数据提取功能,先将数据抽取到高速缓存库中,后面再从缓存库中取数,从而提高系统性能,但是操作上相对比较繁琐。

  


  润乾报表提供了大报表功能,可以实现真分页效果,该功能中取数和呈现采用两个异步线程,可以支持海量清单报表的秒级查询,很大程度上能同时降低内存以及浏览器的压力。

  birt报表对于复杂数据计算逻辑一般是三种处理方式:sql、联结数据集、Java数据集。

  Sql:数据处理越复杂,sql相对越长,编写起来,对于技术人员和维护人员都是比较大的工作量;

  联结数据集:是主要针对异构数据源关联取数提供的解决方案,由于它是在BIRT报表数据引擎内部执行的,所以无法达到数据库的运算效率,性能是相对比较低的;

  Java数据集:可以通过Java代码对数据做一些处理,一定程度上可以缓解计算性能问题,但是对于开发人员要求比较高。

  


  smartbi报表针对复杂数据处理主要通过原生sql、存储过程两种方式实现。

  同样的,sql会存在编写和维护的问题,而存储过程一般会涉及很多中间表的处理,对于数据库资源占用比较大。

  润乾报表则提供了多种处理方式供用户选择:sql、存储过程、Java数据集、脚本(SPL)。

  其中前三者的在前面已经分析了,而SPL是润乾报表独有的,可以通过简单的函数调用实现复杂的数据处理,例如跨库关联取数实现只需要connect、query、join等几个函数即可实现;同时对于大数据量关联取数计算也有对应的解决方案,例如可以通过cursor函数分段取数等。

  


0
首页
电话
短信
联系
X
选择其他平台 >>
分享到

预约演示与咨询

如需进一步了解邦格科技产品及方案,请提交以下信息,我们的专业人员将会与您联系。

联系我们
  • 电话:15222174025
  • 邮箱:support@bgotech.cn
  • 客服QQ:1715258982
  • 加入我们
客户支持
合作伙伴
邦格科技 ©bgotech.cn 津ICP备17008731号