乐趣区

关于java:如何集成开源图表及报表到自研项目中

自助报表需要曾经是越来越广泛,各行业的应用软件中,不论是被动还是被动,都在思考并在努力实现自助报表性能

这样做对于用户来说,能够自在灵便的去剖析理解数据,不再拘泥于固定格局的数据报表,不便灵便、体验更好的同时,也能盘活更多数据的价值

对于应用软件厂商来说,则能省去很多开发和保护老本,还同时拓宽了本人的业务范围,加强了本身的竞争力

那怎么实现呢

BI 零碎中通常都有这个性能,但并不在利用零碎中,应用时,还得两个零碎来回切换,很不不便,还是得利用零碎中本人有用起来才更棘手

找一个能够被集成的自助报表组件

齐全本人做还是比拟艰难的,工作量十分大。所以,第一步是找个现成的组件

但这一步其实挺难的,市面上有自助报表性能的产品挺多,但根本都是后面说到的残缺的 BI 平台解决方案,把一个零碎平台集成到另一个利用零碎中,难度十分大而且还不晦涩,而这些平台也没有把自助报表当成一个中间件独立的拆出来供用户来集成,所以挺难

不便被集成的,以中间件模式提供产品的,目前貌似也就润乾报表了

获取办法:

1 下载安装包并装置:http://www.raqsoft.com.cn/dow…

2 下载开源依赖文件并替换:http://c.raqsoft.com.cn/artic…

润乾自助报表模块是开源的,在一般安装包里替换这个文件后就能够收费应用了

集成过程

咱们以不便集成的润乾报表为例来看一下集成过程

以后大部分数据信息化我的项目都是 java 的,润乾的自助报表是规范的 j2ee 利用,只须要把 jar 包,xml 和 tag 形容文件放到利用下就能够了,并没有什么难度

第一步:复制 jar 包

把自助报表 jar 包和相干文件复制到到本人利用对应的目录中

如果还有一些其余的需要,比方导出 EXCEL 等,再把须要的包复制一下就能够了,具体操作时能够参考文档进行

第二步:利用配置

1 把润乾 web.xml 中的内容抄进利用的 web.xml 文件中并按要求的程序合并

2 在 raqsoftConfig.xml 配置要剖析的数据源等信息

第三步:筹备数据集

筹备一个要用来做自助报表的数据集,咱们用来自如下订单表的一句 SQL 作为数据集

select * from 订单

第四步:公布自助报表

在 jsp 中用 tag 标签配置这个数据集,并把 jsp 公布到服务器

而后就能够通过 url 拜访了,并进行自助操作

就这么简略,在 jsp 中退出 tag 标签,自助报表性能就集成到本人的利用中了

更残缺具体的集成过程能够参考:

怎么在利用中集成自助报表性能

另外,润乾自助报表 不仅能够被集成,而且还是开源的,集成当前,还能够对页面进行更深层次的革新,让页面和性能能够更好的适配本人的零碎

性能漫游

基本功能集成后,咱们再来看一下自助报表能做到什么成果

报表款式

惯例的列表、分组、穿插等款式是所有组件的基本功

复杂程度高一些的,比方上面这个多层分组穿插,能力强一些的制作也都没有问题

这些报表也都能够导出、打印,性能残缺

还能够利用现成的模板生成各类统计图

计算能力

大处看款式,细节看计算。雷同的款式背地,波及的计算可能大有不同,有些只须要做简略的统计汇总,有些则须要做简单的的排名,占比,同比环比等

工具的自助能力各有不同,有的制作起来简略,有的繁琐,有的也可能做不了

排名

占比

同比环比

累积

简单条件过滤

数据起源

自助报表的作用是为了剖析数据,是为了把各类形象的数据变成具象易懂的图表,利用系统集成自助报表后,天然会心愿它能够解决各中类型的数据,应答各类的场景,这就须要工具能够反对各类不同的数据起源才能够,长期来一个文件数据能够剖析,只给一句 SQL 也能做表,遇到简单多库表关联的没问题,不便屡次复用的语义层工具也有,想管制权限还能管制权限,各种场景都能应付自如才行

文件数据源剖析

数据起源是 EXCEL 文件,data.xls

在 jsp 中通过 tag 标签配置这个 EXCEL,而后发布页面

公布后业务人员就能够看到 EXCEL 中的数据,并能够对其进行报表制作了

SQL 数据源剖析

“集成过程”章节中用到的示例,就是用的来自 SQL 的数据源,这里就不反复阐明了,有须要的能够翻到下面再看一下

语义层

长期的,简略的剖析间接基于 SQL 来做会比拟不便。反复的,频繁的剖析如果每次写 SQL,每次都得 as 中文名称,join,减少指标就会挺麻烦

通过语义层来解决这些问题成果就会好很多

定义好语义层:

raqsoftConfig.xml 中增加物理数据源和语义层(DQL)数据源

Jsp 中通过标签调用定义好的语义层文件数据起源,页面展示时候就能够看到中文字段了

自助数据源

后面的三种数据起源是技术人员定义好数据集当前给业务用户间接用的,如果业务用户想本人定义数据集,本人来设置要剖析哪些字段,也是能够的,当然后期还得技术人员帮助设置一下元数据,因为如果间接让用户面对数据库的数据去操作,用户是了解不了这些简单的表名和之间的关系的,也无从下手的

技术人员设置好根底的元数据字典文件后,在 jsp 中通过 tag 标签设置对应文件,公布后用户就能够看到如下界面了,右面曾经是能够轻松了解的中文名称了

业务人员自助抉择本人要剖析的字段,拖拽后生成新的数据集,而后进入自助报表页面就能够看到新的数据集并进行报表制作了

权限管制

有了语义层后也能够控制数据权限了

上图中“员工剖析”这个分类只能看到勾选的表和字段里的数据

也能够独自针对某个表进行权限管制,还能够管制同一个表,不同的人看到不同的数据,比方每个销售只能看到本人的订单

到这里,次要的性能就根本都列举到了,如果一个自助报表工具以上能力都具备,那性能方面就能够过关了

总结

利用中怎么实现自助报表性能,最难的中央其实是: 怎么找一个性能全面且能集成的工具,这个难题解决后,剩下的具体集成对于工程师来说就不算什么难事了,当初难题也被解决了,站在他人的肩膀上不说看的更高走的更远吧,起码能省很多事了,接下来要做的,就是理论集成一次,亲自验证一下看看到底能不能满足本人的需要了

润乾报表材料

  • 润乾报表官网
  • 润乾报表下载
    欢送关注我的布告号:字母哥杂谈,回复 003 赠送作者专栏《docker 修炼之道》的 PDF 版本,30 余篇精品 docker 文章。字母哥博客:zimug.com
退出移动版