自助报表需求已经是越来越普遍,各行业的应用软件中,不管是主动还是被动,都在思考并在努力实现自助报表功能

这样做对于用户来说,可以自由灵活的去分析了解数据,不再拘泥于固定格式的数据报表,方便灵活、体验更好的同时,也能盘活更多数据的价值

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

那怎么实现呢

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

找一个可以被集成的自助报表组件

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

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

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

获取方法:

1 下载安装包并安装: http://www.raqsoft.com.cn/download/download-jsbb

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

http://c.raqsoft.com.cn/article/1619664848326

润乾自助报表模块是开源的,在普通安装包里替换这个文件后就可以免费使用了

集成过程

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

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

业务人员自助选择自己要分析的字段,拖拽后生成新的数据集,然后进入自助报表页面就可以看到新的数据集并进行报表制作了

权限控制

有了语义层后也可以控制数据权限了

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

也可以单独针对某个表进行权限控制,还可以控制同一个表,不同的人看到不同的数据,比如每个销售只能看到自己的订单

到这里,主要的功能就基本都罗列到了,如果一个自助报表工具以上能力都具备,那功能方面就可以过关了

总结

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

润乾报表资料

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

怎样在应用中实现自助报表功能相关推荐

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

    自助报表需求已经是越来越普遍,各行业的应用软件中,不管是主动还是被动,都在思考并在努力实现自助报表功能 这样做对于用户来说,可以自由灵活的去分析了解数据,不再拘泥于固定格式的数据报表,方便灵活.体验更 ...

  2. 怎样在应用中实现自助报表功能?

    自助报表需求已经是越来越普遍,各行业的应用软件中,不管是主动还是被动,都在思考并在努力实现自助报表功能 这样做对于用户来说,可以自由灵活的去分析了解数据,不再拘泥于固定格式的数据报表,方便灵活.体验更 ...

  3. 怎么在应用中实现自助报表功能?

    自助报表需求已经是越来越普遍,各行业的应用软件中,不管是主动还是被动,都在思考并在努力实现自助报表功能 这样做对于用户来说,可以自由灵活的去分析了解数据,不再拘泥于固定格式的数据报表,方便灵活.体验更 ...

  4. 自助报表到底是什么?

    一:什么是自助报表? 报表是 BI 项目中呈现数据最直观的方式,目前使用报表常用的方式是由技术人员根据用户需求提前定义设计好报表模板,用户使用时在页面端基于已有的模板对数据进行查询.打印.导出等操作. ...

  5. 应用系统中交互式报表功能解析

    2019独角兽企业重金招聘Python工程师标准>>> 从报表需求的整个发展历程来看,可以分为两个阶段: 1.静态报表:解决显示.打印.导出报表数据的需要. 2.交互式报表:解决终端 ...

  6. 探索自助报表BI的现状和未来(文末送福利)

    前言 虚竹哥有个朋友小五,他在数据产品提供商的公司上班.小五的妹夫自己开了家软件工作室,会承接一些软件研发项目.妹夫问小五:有没有成熟的报表插件,可以集成到程序中,最好是开源的,方便根据业务进行适配调 ...

  7. 如何实现报表设计中的高精度报表套打?

    在许多行业中票据具有严格的行业规范,格式是无法修改的,一旦格式有所改动,票据数据就会失效无效.因此通常情况下,我们会在预先设计好格式的报表的打印版中,手动填写数据信息,如常见的各类账本,报销单等填写数 ...

  8. SQL Server 2005中的分析服务功能[转]

    XXXX(不知道为什么CnBlogs上的人这么抵制XXXX,呵呵--)上推出了"体验SQL Server 2005"活动,当然啦,一些关于SQL Server 2005的文章被翻译 ...

  9. Microsoft Visual Studio 2005中使用水晶报表

    Microsoft Visual Studio 2005中使用水晶报表 沈阳 王智 OICQ:16994162 http://wangzhihome.51.net/ 2006-4-11 如有转贴请注明 ...

最新文章

  1. 【 Verilog HDL 】正确的变量访问思路
  2. dataframe两个表合并_Part25:Pandas基础(Series,DataFrame类的创建、索引、切片、算术方法)...
  3. 分站实现php,php城市分站是什么原理
  4. [转载+原创]Emgu CV on C# (五) —— Emgu CV on 局部自适应阈值二值化
  5. 141. Linked List Cycle 环形链表
  6. linux密码带星号,Linux下实现输入密码以星号显示
  7. 昇腾AI处理器软件栈--神经网络软件架构
  8. mongodb查询优化
  9. 最老程序员创业札记:全文检索、数据挖掘、推荐引擎应用6
  10. 2021-05-31驱动总裁万能网卡版
  11. hadoop面试题汇总
  12. 出口法和出口管制小记
  13. 实现多线程的方法到底有1种还是2种还是4种?
  14. JZOJ 幽幽子与森林
  15. 什么是Watchdog?
  16. 网络职业成长规划经验谈
  17. 美团 CEO 王兴:从 0 到干到 300 亿美金,格局上输了,再多努力都不可能赢
  18. Python实现冒泡排序,从小到大输出(bubble)
  19. python 将小图放入较大的白色或黑色背景图片
  20. Cisco ❀ 数据封装

热门文章

  1. lombok 不生效
  2. spring boot + rabbitMq整合之死信队列(DL)
  3. 游戏服务器排队系统,游戏服务器排队功能
  4. 动真格了!苹果下架超5万款游戏App, 辛好我有企业签
  5. 软件中级设计师 - 程序语言设计
  6. 谷歌帮——中国最牛的创业帮派
  7. html的text-decoration,CSS属性参考 | text-decoration
  8. WIndows 10 MFC 调用放大镜功能
  9. 计算机剪切功能是哪个组合键,剪切快捷键是哪个?电脑剪切快捷键大全
  10. 叶辽 c语言,段子贴,不定期更新叶辽、黄源清、守墓人都负重伤,而魔王也并不...