作者石臻臻, CSDN博客之星Top5Kafka Contributornacos Contributor华为云 MVP ,腾讯云TVP, 滴滴Kafka技术专家 KnowStreaming


KnowStreaming 是滴滴开源的Kafka运维管控渠道, 有爱好一起参加参加开发的同学,但是怕自己才能不行的同学,能够联络我,当你导师带你参加开源!

自助报表需求已经是越来越遍及,各行业的使用软件中,不管是主动仍是被动,都在考虑并在努力完成自助报表功用

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

对于使用软件厂商来说,则能省去很多开发和维护成本,还一起拓宽了自己的事务范围,增强了自身的竞争力

那怎样完成呢

BI 体系中通常都有这个功用,但并不在使用体系中,使用时,还得两个体系来回切换,很不便利,仍是得使用体系中自己有用起来才更顺手

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

完全自己做仍是比较困难的,工作量非常大。所以,第一步是找个现成的组件

但这一步其实挺难的,市面上有自助报表功用的产品挺多,但基本都是前面说到的完整的 BI 渠道处理方案,把一个体系渠道集成到另一个使用体系中,难度非常大并且还不流通,而这些渠道也没有把自助报表当成一个中间件独立的拆出来供用户来集成,所以挺难

便利被集成的,以中间件方式供给产品的,目前形似也就润乾报表了

获取方法:

1 下载装置包并装置: www.raqsoft.com.cn/download/do…

2 下载开源依靠文件并替换:

c.raqsoft.com.cn/article/161…

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

集成进程

我们以便利集成的润乾报表为例来看一下集成进程

当时大部分数据信息化项目都是 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标签设置对应文件,发布后用户就能够看到如下界面了,左面已经是能够轻松了解的中文名称了

怎么样在应用中实现自助报表功能

怎么样在应用中实现自助报表功能

事务人员自助挑选自己要剖析的字段,拖拽后生成新的数据集,然后进入自助报表页面就能够看到新的数据集并进行报表制造了

怎么样在应用中实现自助报表功能

权限操控

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

怎么样在应用中实现自助报表功能

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

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

怎么样在应用中实现自助报表功能

到这儿,主要的功用就基本都罗列到了,假如一个自助报表东西以上才能都具有,那功用方面就能够过关了

总结

使用中怎样完成自助报表功用,最难的当地其实是:怎样找一个功用全面且能集成的东西,这个难题处理后,剩下的详细集成对于工程师来说就不算什么难事了,现在难题也被处理了,站在他人的肩膀上不说看的更高走的更远吧,最少能省很多事了,接下来要做的,便是实际集成一次,亲身验证一下看看究竟能不能满意自己的需求了

润乾报表资料

  • 润乾报表官网
  • 润乾报表下载