FineReport

品牌名帆软

服务商帆软软件有限公司

来    源宁波市工业软件公共服务平台

软件介绍
FineReport是帆软软件有限公司自主研发的一款企业级web报表软件产品,它“专业、简捷、灵活”,仅需简单的拖拽操作便可以设计出复杂的中国式报表、参数查询报表、填报表、驾驶舱等,轻松搭建数据决策分析系统。FineReport作为中国报表软件领导品牌,其市场占有率为行业之最,用户遍布各行各业。
软件详情

 

 

中国报表软件领导品牌

FineReport(V10.0)产品白皮书

 

 

 

 

 

 

CopyRight@2019

帆软软件有限公司,保留所有权利

 

 

 

 

 

目录

1.什么是FineReport........................................................................................................................ 8

1.1.       对软件公司.................................................................................................................. 9

1.2.       对最终用户.................................................................................................................. 9

  1. FineReport系统架构............................................................................................................ 12

2.1.       系统架构.................................................................................................................... 12

2.1.1 FineReport功能结构.............................................................................................. 12

2.1.2 FineReport技术架构.............................................................................................. 12

2.2.       产品组成.................................................................................................................... 13

2.2.1.   报表设计器......................................................................................................... 14

2.2.2.   报表服务器......................................................................................................... 14

  1. FineReport功能概述............................................................................................................ 15

3.1.       数据源支持................................................................................................................ 15

3.2.       设计器介绍................................................................................................................ 15

3.2.1.   零编码、拖拽式操作........................................................................................... 15

3.2.2.   远程设计............................................................................................................. 17

3.2.3.   多工作目录......................................................................................................... 18

3.2.4.   多人协同............................................................................................................. 18

3.2.5.   在线更新升级...................................................................................................... 18

3.2.6.   AlphaFine智能助手............................................................................................ 19

3.2.7.   模板文件版本管理............................................................................................... 20

3.3.       中国式复杂报表......................................................................................................... 21

3.3.1.   多源数据关联...................................................................................................... 21

3.3.2.   行列对称............................................................................................................. 21

3.3.3.   分栏、分页和分组报表........................................................................................ 21

3.3.4.   动态格间运算...................................................................................................... 22

3.3.5.   函数(公式)支持.................................................................................................. 23

3.3.6.   聚合报表............................................................................................................. 24

3.4.       决策报表(数据大屏)............................................................................................... 25

3.4.1.   多屏自适应......................................................................................................... 25

3.4.2.   丰富的可视化元素............................................................................................... 26

3.4.3.   多种布局方式...................................................................................................... 27

3.4.4.   组件共享和复用.................................................................................................. 27

3.4.5.   组件联动分析...................................................................................................... 28

3.4.6.   数据监控............................................................................................................. 28

3.4.7.   自动轮播............................................................................................................. 29

3.4.8.   大屏硬件结合...................................................................................................... 29

3.5.       报表输出与打印......................................................................................................... 30

3.5.1.   文件导出............................................................................................................. 30

3.5.2.   零客户端打印与本地软件打印............................................................................. 30

3.5.3.   多功能打印......................................................................................................... 31

3.6.       数据查询与过滤......................................................................................................... 31

3.6.1.   丰富的控件类型.................................................................................................. 32

3.6.2.   灵活的参数面板.................................................................................................. 32

3.6.3.   高级参数查询功能............................................................................................... 33

3.7.       图表........................................................................................................................... 34

3.7.1.   先进的图表技术.................................................................................................. 34

3.7.2.   丰富的图表类型和样式........................................................................................ 34

3.7.3.   多样的图表交互效果........................................................................................... 35

3.7.4.   灵活的个性化设置项........................................................................................... 40

3.7.5.   图表钻取............................................................................................................. 44

3.7.6.   图表联动............................................................................................................. 44

3.7.7.   数据地图............................................................................................................. 45

3.8.       交互分析.................................................................................................................... 50

3.8.1.   联动.................................................................................................................... 50

3.8.2.   钻取.................................................................................................................... 50

3.8.3.   多维数据分析...................................................................................................... 51

3.8.4.   即时数据分析...................................................................................................... 54

3.9.       数据填报.................................................................................................................... 55

3.9.1.   多样的填报风格.................................................................................................. 56

3.9.2.   填报的提交控制.................................................................................................. 57

3.9.3.   数据校验............................................................................................................. 58

3.9.4.   多级上报............................................................................................................. 59

3.9.5.   数据暂存............................................................................................................. 60

3.9.6.   多sheet填报...................................................................................................... 62

3.9.7.   Excel数据导入................................................................................................... 63

3.10.     企业报表管理平台...................................................................................................... 65

3.10.1.   目录管理........................................................................................................... 66

3.10.2.   用户管理........................................................................................................... 66

3.10.3.   权限管理........................................................................................................... 67

3.10.4.   分级权限控制.................................................................................................... 70

3.10.5.   系统管理........................................................................................................... 71

3.10.6.   智能运维........................................................................................................... 73

3.10.7.   消息中心........................................................................................................... 79

3.10.8.   短信平台........................................................................................................... 80

3.10.9.   安全管理........................................................................................................... 81

3.10.10.    注册管理......................................................................................................... 84

3.10.11.    外观配置......................................................................................................... 86

3.11.     定时调度.................................................................................................................... 88

3.11.1.   定时任务........................................................................................................... 88

3.11.2.   定时任务的权限控制......................................................................................... 90

3.11.3.   定时填报........................................................................................................... 91

3.12.     移动应用.................................................................................................................... 91

3.12.1.   ReactNative与原生相结合................................................................................ 92

3.12.2.   OEM云打包平台&个性化定制.............................................................................. 93

3.12.3.   HTML5报表........................................................................................................ 94

3.12.4.   微信和钉钉集成................................................................................................ 95

3.12.5.   移动端自适应与缩放......................................................................................... 96

3.12.6.   移动端钻取和联动............................................................................................. 96

3.12.7.   移动端填报....................................................................................................... 97

3.12.8.   移动交互体验.................................................................................................... 97

3.12.9.   添加设备和绑定................................................................................................ 98

3.12.10.    移动端消息推送............................................................................................... 99

3.13.     国际化语言支持....................................................................................................... 100

  1. 部署集成............................................................................................................................ 101

4.1.       系统集成.................................................................................................................. 101

4.1.1.   java项目集成................................................................................................... 101

4.1.2.   非java项目集成............................................................................................... 101

4.1.3.   C/S项目集成..................................................................................................... 102

4.2.       web页面集成............................................................................................................ 102

4.3.       集群......................................................................................................................... 103

4.3.1集群方案介绍.......................................................................................................... 104

4.4.       单点登录.................................................................................................................. 104

  1. FineReport的扩展开发....................................................................................................... 105

5.1.       API接口................................................................................................................... 106

5.1.1.   程序数据源....................................................................................................... 106

5.1.2.   报表格式设置.................................................................................................... 106

5.1.3.   自定义交互....................................................................................................... 106

5.1.4.   自定义填报....................................................................................................... 106

5.1.5.   报表再处理....................................................................................................... 106

5.1.6.   自定义函数....................................................................................................... 106

5.1.7.   导入和导出....................................................................................................... 107

5.2.       插件开发.................................................................................................................. 107

  1. FineReport性能和优化....................................................................................................... 109

6.1.       实测数据.................................................................................................................. 109

6.2.       性能优化.................................................................................................................. 109

6.2.1.   报表性能优化.................................................................................................... 109

6.2.2.   服务器性能优化................................................................................................ 110

  1. 产品环境支撑..................................................................................................................... 110

7.1.       软件环境.................................................................................................................. 110

7.2.       硬件环境.................................................................................................................. 111

  1. 联系我们............................................................................................................................ 112
  2. 关于帆软............................................................................................................................ 112

9.1 品牌领导力..................................................................................................................... 113

9.1.1 组织规模.............................................................................................................. 113

9.1.2 服务范围.............................................................................................................. 113

9.1.3 销售业绩.............................................................................................................. 113

9.2 品牌影响力..................................................................................................................... 114

9.2.1 标杆客户.............................................................................................................. 114

9.2.2 行业覆盖.............................................................................................................. 114

9.2.3用户规模............................................................................................................... 114

9.3 产品体系......................................................................................................................... 114

 

1.什么是FineReport

FineReport是帆软软件有限公司自主研发的一款企业级web报表软件产品,它“专业、简捷、灵活”,仅需简单的拖拽操作便可以设计出复杂的中国式报表、参数查询报表、填报表、驾驶舱等,轻松搭建数据决策分析系统。

FineReport作为中国报表软件领导品牌,其市场占有率为行业之最,用户遍布各行各业。根据用户调查结果显示,用户对FineReport持有高品质认可度主要体现在5个方面:

(1)完善的功能。

帆软非常清楚用户的习惯和需求,更对报表软件行业的发展了然于胸,在中国式复杂报表领域称为“最接地气”绝对实至名归。十多年以来,FineReport始终坚持“功能只有必要,不要冗余”的原则,集中精力挖掘用户需求,做好功能调研,进而只做主流发明创新,比如零客户端打印、填报暂存、智能助手等。

(2)极低的学习成本。

学习成本低,产品上手快,操作简便、快速,总结起来便是“易学易用易集成”。为帮助用户更快更好掌握产品的使用,帆软提供了多种学习途径和资料,比如定期的线下或在线培训、FineReport爱好者论坛等;更提供了多种获取服务的渠道,比如现场支持、企业QQ、电话、邮箱等。

(3)丰富的经验。

帆软积累了大量的行业应用经验,对各个行业都有着自己独到的见解,可以为用户提供丰富、实用的信息化建设意见,提供诸如一系列或从上至下、从内到外涉及战略、运营、组织、财务、营销等多个主题的解决方案和实施方案。

(4)高效的服务。

帆软一直秉承“及时、专业、周到、细致”的服务精神,建立了完善的售后和技术支持体系,并通过了ISO9001国际服务质量体系认证。

(5)朴实的文化。

“用最初的心,以成熟的智慧,做永远的事”,每位帆软人,都保持一种新人的姿态,努力充实,善于学习,不因技不如人而碌碌无为,也不因出类拔萃而沾沾自喜,始终用一颗最初的心来迎接每一天的工作。

1.1.  对软件公司

对软件公司而言,FineReport的价值是解决代码开发、应用开源软件开发报表的各种问题,加快项目进度,降低项目成本。

以前的项目开发模式多采用定制代码开发或者基于平台二次开发,但是这种模式长期以来存在如下问题:

  • 项目周期长,延期问题非常普遍
  • 熬夜加班多,项目成员痛苦不堪
  • 需求扩展差,无法快速响应新需求
  • 软件质量差,BUG频出系统性能差
  • 用户维护难,验收后还要进行维护
  • 离职风险高,人才流失后果严重

 

为了节约项目成本,有的项目使用开源软件,表面上看似减少了报表软件采购的费用,实际上却因为这样那样的问题导致项目延期,效率甚至不如代码开发:

  • 功能有限制,客户新需求不能满足时进退两难
  • 服务无保障,遇到技术难题或产品BUG只能叹息
  • 学习成本高,全英文的产品和学习资料如同天书

FineReport的出现,宣告以上问题不再是问题,让高效开发报表成为可能。同时由于FineReport的易用性、傻瓜性,可以在项目交付后,使最终用户可以基于FineReport做简单的页面修改以达到自我维护和更新系统的目的。

1.2.  对最终用户

在信息化过程中,企业一般会遇到以下问题:

  1. 业务数据增长迅速,但用于经营分析和业务管控比较少

信息化过程中,企业应用越来越多,数据量也越来越大,企业数据是一笔巨大财富,多数公司认可此观点却不知怎么利用,所以数据仅仅是堆积在一起,而参与运营决策,进行经营分析和业务管控的数据还非常少。

  1. 业务数据分散,应用难度大

一般企业多个业务系统比如CRM、ERP、OA都是封闭独立运行,业务数据分散在不同的系统中,查询数据需要进入不同的系统,业务数据的应用难度非常大。另外数据多口采集、重复录入、数据更新不同步、数据结构不同,也严重影响了数据的一致性和准确性。

  1. 手工方式处理数据,工作量大准确度低安全性低

为满足管理人员查阅跨部门、跨系统的综合性信息,业务部门需要手工Excel进行汇总和调整,基本上是“月报月月做,日报天天做”,工作量大,时效性低,数据不准确,制作、维护、查看都很不方便。Excel的权限功能简单,数据安全性低,严重损害企业利益。

  1. 业务调整太快,原有报表不能服务于新业务

企业通过定制报表来进行业务分析,但由于业务发展快,原有报表无法满足需求,就需要经常二次开发,调整报表体系,这对最终用户和软件公司都是很大的负担。同时报表之间缺乏关联和对照关系,综合分析难以深入。

  1. 没有统一的报表管理门户

每个业务系统虽然有报表目录,但领导者不能从统一门户中查阅报表,更不能统一管理所有报表,对报表进行权限配置。

  1. 报表展现过于明细和简单,不利于管理者掌握企业全局信息

业务系统带有的报表一般功能都很低,只能实现基本的数据汇总、展示功能,不能直观的、丰富的展现分析数据,更不能通过模型进行业务的预警、预测,支撑企业多种业务运用,不利于管理者掌握全局信息,全面决策。

  1. 出差在外不能及时查看报表

办公移动化已经成为潮流,利用移动终端,管理者可以更好的利用碎片时间,可以不局限于场所对企业进行实时掌控。但是由于种种原因,企业80%以上报表的查阅、填报还依赖于PC端,这极不利于管理者实时掌握企业信息,及时进行业务调整。

以上种种问题,致使管理者难以获取准确的有效信息,决策还流于拍脑袋的直观决策,对企业管理和运营都会带来极多不利影响。

对此,FineReport提供了完整的解决方案

数据整合:多数据源关联,跨数据库跨数据表取数,简单应用多业务系统数据,集中相关业务数据于一张报表,让更多数据应用于经营分析和业务管控。

数据采集及建模分析:通过报表设计器,简单灵活设计所需报表。通过数据决策系统,进行报表统一访问和管理,实现各种业务主题分析、数据填报等。

数据展示:通过PC端或移动端访问报表,进行丰富多样的图表分析、钻取分析、多维度分析、自定义分析等,更好的阅读报表数据,发现数据价值。

 

 

 

 

 

 

 

2.  FineReport系统架构

2.1.  系统架构

2.1.1 FineReport功能结构

设计人员创建数据源并进行报表设计;管理员配置用户、权限体系;普通用户在前端执行报表的查询、分析、打印、导出、填报等,支持PC/平板/移动端/大屏设备,兼容主流浏览器。

2.1.2 FineReport技术架构

FineReport是纯java软件,具有良好的跨平台兼容性,支持和各类业务系统进行集成,支持各种操作系统,支持主流web应用服务器。前台是纯HTML展现,无需安装任何插件。其技术架构图为:

2.2.  产品组成

FineReport报表系统主要由报表设计器(设计模板)和报表服务器(解析模板)两大部分组成,使用层次鲜明的三层结构体系搭建,通过多种连接方式连接不同数据源,所有的报表制作工作都在设计器(中间层)中完成,并最终通过服务器解析展现给用户。

2.2.1. 报表设计器

FineReport设计器可以进行表格、图形、参数、控件、填报、打印、导出等报表中各种功能的设计,是集报表应用开发、调试、部署的一体化平台,其组成原理如下图所示。

2.2.2. 报表服务器

报表服务器是指用在web环境中解析报表的Servlet形式的服务器,用户通过浏览器和报表服务器进行应用交互。

  • 报表解析:FineReport服务器主要用来读取和解析设计器制作好的模板,并将模板转换成HTML页面,方便用户通过浏览器查看、修改和打印数据。
  • 缓存管理:面对频繁访问所造成的资源浪费和效率低下,FineReport提供了强大的缓存机制进行数据的缓存,使用户的访问更加高效。
  • 连接池的配置:通过建立一个数据库连接池以及一套连接使用、分配、治理策略,使得该连接池中的连接可以得到高效、安全的复用,避免了数据库连接频繁建立、关闭的开销。
  • 性能管理:支持分布式集群和超大数据量运算,并支持大量用户并发处理。

 

3.  FineReport功能概述

3.1.  数据源支持

FineReport连接数据源的方式多种多样,支持通过JDBC的方式直接连接数据库,或通过JNDI的方式与应用服务器共享数据连接,也支持通过JCO连接SAP系统。

可支持的数据源类型包括:

  • 关系型数据源:包括Oracle,SqlServer,MySql,DB2,Sybase,Informix等主流的关系型数据库;支持SQL取数据表或视图,亦支持存储过程。
  • 文本数据源:Excel文件,Txt文件,XML文件的数据;
  • 内置数据源:支持服务器内置数据集和报表内置数据集
  • 多维数据库:Essbase、ssas、sap bw、hadoop等
  • Nosql数据源:支持MongoDB等非关系型数据
  • Spider数据源:支持对接FineBI的Spider引擎数据源
  • 其他数据源:支持程序数据源、json数据、SAP数据源等

3.2.  设计器介绍

3.2.1. 零编码、拖拽式操作

FineReport采用零编码的设计理念,绝大多数操作通过拖拽即可完成。设计器针对不同类型的报表需求提供了多种设计方式,包括普通报表、聚合报表、决策报表。

普通报表模式,采用的是类Excel的风格,用于解决中国式复杂报表,基本上会使用Excel就能学会多数操作,同时支持多SHEET和跨SHEET计算,兼容常用Excel公式,支持公式、数字和字符串的拖拽复制,支持行列变化时单元格引用的内容自动变化等,用户可以所见即所得的设计出复杂表样。

聚合报表模式,用于支持不规则大报表的设计。传统Excel格子式的界面,在处理不规则报表时,需要频繁的合并、拆分单元格,工作极其繁琐。FineReport聚合报表模式,能高效的处理此类报表需求。

 

 

 

 

 

 

决策报表模式,用于实现酷炫的驾驶舱、管理看板等。其采用空白画布式界面,通过拖拽组件的形式在界面上自由组合不同的可视化元素,实现综合分析看板。

3.2.2. 远程设计

传统的报表工具在内网中工作时,需要将设计器和报表工程都部署到服务器上,也就是常说的两层架构,会产生如下很多问题。对于使用内网的公司,服务器的安全要求一般都比较高,只有相应服务器才能去连接数据库,在服务器上安装设计器,不仅增加了服务器管理员的维护难度,还降低了服务期的安全性。当服务器上的报表需求变化时,需要去现场进行操作,麻烦而且效率低。

而FineReport采用了三层架构技术,即让用户可以通过远程设计模式,在本地设计,远程发布、导出模板,并直接对服务器端报表文件编辑更改。

3.2.3. 多工作目录

FineReport提供了报表工作目录的概念,即每一个报表的独立应用或者集成环境都是一个工作目录。每个工作目录下都有相应的jar文件,报表模板文件,资源管理文件等。当我们在本机安装了FineReport之后,本机安装目录下自带的webroot文件夹就作为一个独立的本地工作目录来使用。

在实际的应用中,更多的需求是使用远程工作目录。即报表服务器集成部署于实际的系统当中,报表设计者通过设计器连接远程环境,直接对报表模板文件,配置参数等进行编辑保存。特别如果有测试环境,生产环境等多个环境的情况下,FineReport的多工作目录便捷切换便能够给设计者提供极大的便利。

3.2.4. 多人协同

一个系统开发团队难免要多人同时从事报表的开发工作,可能每人承担一部分互不相关的模板任务,也有可能要利用到他人设计的报表。现在一般的管理方式就是SVN/VSS/CC等做版本管理,但是实时性较差,特别是如果误操作还可能带来文件恢复等较繁琐的工作量。那么借助FineReport就可以轻松做到多人协同制表。

多个报表制作人员可通过远程设计器连接到同一个报表运行环境,同时该连接又依据权限控制每个制作人可操作的范围,保证多人工作情况下的数据和文件安全性。

另外为了防止多人同时编辑同一文件,导致文件冲突的情况,FineReport提供了模板加锁和解锁的功能,也就是当A制作员打开一张模板进行编辑的同时,可以对当前模板进行锁定,则其它的制作员就不能同时来编辑这个文件,有效防止了文件编辑冲突。

3.2.5. 在线更新升级

FineReport是业内第一款支持在线更新升级的报表设计器。无需重新安装,一键升级到最新版,及时体验最新能。支持升级前自动备份,用户可根据备份节点,一键还原。支持显示每期更新内容,支持对更新内容进行搜索。

3.2.6. AlphaFine智能助手

AlphaFine是帆软创新开发的报表制作智能助手,它是FineReport产品连接一切的入口,产品有什么功能、有哪些demo模板、有哪些组件或插件、某项功能怎么设置、某个报错什么意思怎么解决等等,都可以通过这个入口找到答案。总而言之,用户可以通过这入口获取到所有有效资源,辅助报表制作。

如下图所示,是AlphaFine智能助手的搜索功能,可以搜索模板内容、功能设置、文档等等。

 

 

 

下图是AlphaFine智能检测功能,基于帆软的云中心问题库,用户在访问模板出错时可以快速知道当前报错的原因以及对应的解决方案。

3.2.7. 模板文件版本管理

     设计器支持对开发的报表文件进行版本管理,支持保存历史版本,还原历史版本,删除历史版本等。极大的方便用户对开发过程进行管控,降低因意外编辑修改或文件损坏带来的项目风险。

 

3.3.  中国式复杂报表

3.3.1. 多源数据关联

FineReport提供了异构数据源模型,可以进行多源数据关联,使得同一张报表的数据可以来源于同一数据库的多个不同表,或多个不同数据库。

3.3.2. 行列对称

一些传统的报表工具,由于条带状的展现方式的缺陷,数据的横向展示能力要远远弱于纵向,往往很难甚至无法制作交叉报表,更不用说更为复杂的中国式报表了。FineReport采用的是类Execl+绑定数据列的处理模型,天然支持行列对称,所有纵向的操作都可以在横向得到同样的充分体现。

3.3.3. 分栏、分页和分组报表

分栏报表可以允许用户自定义分栏的列数和行数,复制标题并且自动补足空白行,此功能特别适合员工信息卡、书籍信息卡的制作。

出于分类浏览或者打印时的需要,很多时候我们要将报表内容按一定的规律显示在不同的页面上,这就是分页。FineReport支持多种分页报表设置:

  • 指定分页:用户可以根据实际情况自行决定该如何分页。例如可以指定固定行数分页,即在一页当中展示固定的行数,或将报表按组分页,便于浏览数据。
  • 动态重复标题或结尾行:无需重复输入、设计,实现不同页不同的标题或结尾。
  • 页内合计:在每一页的末尾对该页的所有数据进行合计。
  • 不分页预览:将所有数据都放在一张页面上展示,用户可以通过拖动右侧的滚动条对整张页面进行浏览。
  • 冻结表头:上下、左右拖动滚动条时,首行或首列内容固定在页面原始位置。

中国式复杂报表中存在着诸多的不规则的分组报表,为完美响应此类报表,FineReport支持者多种报表分组设置。

  • 自定义公式分组:数据是通过某一字段来进行分组,如日期字段,每个日期对应一个组,此时分组过于详细,希望按照年与周来分组显示。
  • 自定义条件分组:自定义条件分组一般也称为按段分组,是一个比较典型的高级分组报表样式,其分组是根据数据的值段来分的,比如按照分数段、年龄段、时间段等,属于某个值区间的记录归到一个组里显示。
  • 相邻连续分组:数据库表数据是按照时间先后录入的,查询的时候希望按照时间先后,某个字段连续相同的话就合并起来显示,这样的报表可以通过相邻连续分组来实现。
  • 归并分组:在国内,一般企业的主营地区是华北与华南,做报表的时候便希望将销售业绩较好的北方与南方作为主要查看对象,而其他地区则汇总于“其他”组,这就是归并分组。
  • 组织递归树:组织递归分组,一般表现形式为企业或事业单位,或集团或部门的组织结构,FineReport可以快速自动处理递归型的数据结构。

3.3.4. 动态格间运算

基于格子界面中数据扩展的特性,即设计界面与返回数据的一对多的关系,FineReport提供了一整套运算体系,用于扩展后数据的定位与相互引用计算,这就是层次坐标,即动态格间运算。其表示方法为:

Cellx:指目标单元格, Lk:指某个目标单元格Cellx的左父格,Tk:指某个目标单元格Cellx的上父格。

如下例所示:

动态隔间运算可以用来轻松实现数据的占比、数据比较、同期比、环比、排名、循环应用、逐层累计、跨层累计、交叉表累计、行序号、组内序号等。

3.3.5. 函数(公式)支持

在模版制作的过程中,当需要对数据进行统计时,就会用到公式。FineReport兼容了大多数Excel的公式写法,在此基础上进行了扩展,并且所有封转的函数都有相应的说明,加快上手速度,减轻了模板制作的难度,对于公式的熟练运用可以提高模板制作的效率。

FineReport报表提供了多种函数类型:常用函数、数学和三角函数、文本函数、日期和时间函数、逻辑函数、数组函数、报表函数、层次坐标函数和其他函数。

在一些特殊领域,可能需要一些特殊的函数,对此,FineReport提供了自定义函数机制,可以由用户根据业务需要自己来定义一些函数,但这些函数必须满足FineReport函数定义规则。

3.3.6. 聚合报表

对于一些非常复杂的大报表,即数据有多个分片区,涉及到很多很多统计数据和指标,常规方式制作起来就显得吃力。如下图中的报表,就很难用常规方式来解决。

特事特办,FineReport针对复杂大报表的特点,推出了聚合报表功能,把原报表进行规则分割,每一聚合块有其独立性,且块与块之间有组织联系。

3.4.  决策报表(数据大屏)

不同于普通报表的格子式界面,FineReport决策报表采用了画布式操作界面,其专为大屏和移动端而生,通过简单的拖拽操作即可帮助用户制作强大、全面的“管理驾驶舱”,在同一个页面整合不同的企业数据,完美的展示企业的各类业务指标,实现数据的多维度分析。

FineReport决策报表有以下独特优势:

3.4.1. 多屏自适应

提供完善的自适应逻辑,支持横向自适应、双向自适应等,大部分模板只需要设计一次,即可在PC、平板、手机、大屏等多类终端设备上智能自适应展示。

 

 

 

 

 

 

 

 

 

 

 

 

3.4.2. 丰富的可视化元素

提供表格、图形、控件等超多可视化组件,包括50多种图表类型,20多种控件,100多种扩展插件以及样式丰富的表格。支持不同可视化组件的自由组合使用,同时开放丰富的api接口,开发人员可自由定制更多效果。

3.4.3. 多种布局方式

提供自适应布局、绝对布局、tab布局等多种布局方式,零编码拖拽式设计,自由组合不同的组件,挥洒您的视觉创意,且支持动态控制组件在浏览器端的展现及隐藏,在绝对布局模式下还支持组件的堆叠展示,充分提高终端设备的屏幕利用率。

3.4.4. 组件共享和复用

为了让用户更快捷的设计出好看的决策报表,帆软提供了组件云端共享和本地复用功能。帆软官方将收集到的优秀demo上传到云端共享中心(如下图),用户可根据需要,自行下载自己喜欢的demo,并应用到自己的决策报表之中,既节省了人力又做出了好看的报表。而且,往往相同行业的需求也是相似的,通过我们的云中心,能达到客户知识的分享传播。此外,组件还支持本地复用,对任意选中的组件通过键盘可以进行复制、剪切、粘贴,支持在同一个报表模板内复用, 也支持在不同的报表模板间复用。

3.4.5. 组件联动分析

拖拽到决策报表设计界面中的组件,可以轻松实现组件之间的联动分析,点击某个组件,相关联的组件自动触发数据加载效果。

3.4.6. 数据监控

后台数据智能监测并对比,数据有变更前台及时更新,时刻掌握最新数据。不同于普通报表的全局刷新,决策报表支持单个组件的局部刷新,且每个组件有独立的监控设置,不同表格、图形等元素可以独立刷新,其中图表的刷新还支持对变更的数据进行动态提示。

 

3.4.7. 自动轮播

支持在同一个位置轮播显示多个不同的图表样式(每个图表的数据来源可以不同),支持多个tab页之间的自动轮播,轮播的时间间隔可由用户自主设定。

 

3.4.8. 大屏硬件结合

帆软和业内顶尖的大屏硬件厂商合作,支持将FineReport制作的决策报表页面投射到各类大屏终端上进行演示分析,比如一体机、智能电视、拼接屏、小间距LED屏幕墙等等。

3.5.  报表输出与打印

3.5.1. 文件导出

FineReport支持在设计器端导出文件,也支持在浏览器页面导出。

  • 导出格式:PDF、WORD、Excel(包含分页导出、原样导出、分页分sheet导出三种导出样式)、TXT、SVG和图片格式(PNG、JPG、BMP等)
  • 大数据集导出:针对实际业务场景有大数据量明细导出需求的客户,提供大数据量明细导出Excel接口(适用于关系型数据库)。
  • 输出属性控制:控制隐藏行、隐藏列的导出,支持设置打开密码和编辑密码。

3.5.2. 零客户端打印与本地软件打印

打印方式分为“零客户端打印”和“本地软件打印”两种。

“零客户端打印”是通过调用浏览器的打印工具来进行打印的方式,在部分浏览器中也支持静默打印,使用上轻量灵活

“本地软件打印”是通过在本地下载客户端,并调用本地客户端进行打印。可对打印机、打印份数、页码、布局、纸张和边距进行设置,能实现无需预览静默打印,并可以保存打印习惯。

整体来看,FineReport报表打印解决方案,有着“精确分页,精确对齐、无页脚、页眉干扰、自主定义纸张方向和格式、连续打印、跨浏览器打印”的优势。

3.5.3. 多功能打印

FineReport通过零客户端打印与本地软件打印,解决了实际场景中不同的应用需求,具体支持的功能点如下。

  • 票据套打:支持绝对定位的发票套打、支票套打等。
  • 分页打印:可按照数据的条数或者数据组的条数进行强制分页;支持重复标题,支持重复行头行尾以及重复列头列尾;内容不足时补足空行以保证打印格式统一;
  • 缩放打印:缩放打印是根据纸张大小缩放的,纸张的缩放是同比例缩小或放大。如果打印机使用的是A4的纸,但是设置的纸张大小为A6,那么就会同比例的放大到A4上,反之内容将缩小。
  • 静默打印:静默打印即点击打印时不弹出选项窗口和打印机设置窗口直接进行打印,本地软件打印及IE下的零客户端打印支持静默打印。
  • 偏移打印:对于服务器上的同一模板,不同的打印机打印出的效果可能有所不同。这时就出现了当前打印效果与正常打印效果的位置有所偏差的现象。为解决此类问题,FineReport已新增偏移打印功能,通过设置打印机的偏移尺寸,使其达到正常的打印效果,且该功能在不同的预览方式下均可使用。
  • 自动选择纸张和方向打印:可以将页面设置传递给打印机,可以实现自适应纸张大小来选择纸张,也可以实现纸张的横纵向自动识别打印。
  • 同一组报表不同页面大小打印:支持将一个多sheet报表中每个不同的报表设置不同的页面大小进行打印。
  • 批量打印:若有很多张模板需要打印,而如果一个一个进行打印的话会比较麻烦,此是便可以用批量打印功能。例如有一张全国销售人员的业绩报表,我传入不同销售人员参数后,批量打印出这些报表。
  • 其他打印控制:FineReport也支持不预览模板就直接进行打印。

3.6.  数据查询与过滤

在很多情况下,用户需要通过输入条件值,对数据进行查询,并灵活控制显示的数据范围。FineReport通过参数以及参数界面的定义,可以非常灵活的定义出强大的查询界面,由用户通过界面输入查询条件,来控制报表显示的内容以及形式。

除了由用户输入的参数外,还有部分报表中需要用的到参数是由系统环境来决定的,例如当前登陆用户的用户名、角色、当前日期时间等。这些都可以通过设计或配置取得,进行灵活的数据分析。

FineReport报表中的参数按照其使用范围可以分为:模板参数和全局参数。全局参数:当前工程应用下的所有模板都可以使用;模板参数:只有当前模板才可以使用。按照其使用方式不同可以分为:模板参数和数据集参数。数据集参数就是直接取出满足条件的数据,而报表参数是取出全部数据后通过设置过滤条件再获取对应参数的数据,因此若数据量大的情况下使用数据集参数可以提高报表的访问效率。

3.6.1. 丰富的控件类型

FineReport提供了文本、文本域、数字、密码、按钮复选框、复选框组、单选按钮组、日期下拉框、下拉复选框、时间、多文件上传列表、网页框、下拉树、表格树和视图树等多种控件类型,支持预定义控件、自定义控件。

3.6.2. 灵活的参数面板

FineReport为了让用户快速的实现参数查询数据功能,提供了专门的参数面板,用来放置与查询相关的控件,用户可以灵活布局,可视化拖拽设计想要得到的界面效果。FineReport的参数面板,可能是业内最好用的可视化参数面板。

同时,用户可以对参数界面进行简单的属性设置,可设置的属性有:是否显示参数面板、点击查询前显示报表内容、参数面板的背景设置、参数面板显示位置等。

3.6.3. 高级参数查询功能

  • 参数联动:就是指后面一个参数的值会根据前一个参数的值的改变而改变,常用于层次多的筛选查询,方便锁定数据,如国家-省份-城市-公司的查询,输入国家“中国”后,省份中的值即为“江苏、上海、安徽、浙江”等中国的省份,若输入美国,则省份中的值为美国省份。
  • 动态列查询:多数情况下,我们在查询报表时,报表当中的字段都是已经固定的。但是我们可能会遇到这样一种情况,即需要查询的是一个数据集,但是显示在报表当中的字段却并非固定,要允许用户在查询报表时,自己定义需要显示的是哪几个列,这样的报表我们称之为动态列报表。FineReport实现动态列报表可以有两种实现方式:一是通过使用函数实现,二是通过定义数据集实现。
  • 自动查询:用户直接在输入参数后就查询出报表结果,并不需要点击查询按钮。
  • 参数为空显示全部值:用户如果某些单元格没有输入数据就直接点击查询,普通的报表工具可能直接提示SQL拼写错误。而FineReport可以预先设置参数值为空得到全部值。
  • 动态显示参数控件:由于业务的需要,很多情况下需要当满足某个条件时,某些查询条件才显示出来:选择年报,显示年的下拉框控件;选择月报,显示年月下拉框控件;选择日报,显示日期下拉框控件。
  • 参数面板中数据对应显示:我们的参数联动在报表展示时,联动效果是通过客户自己的选择来实现联动的,但是在当联动内容是一一对应的时候,客户不希望还要再选一次才能实现联动效果,该功能便可实现,在参数面板选择一次参数之后,后面的数据自动展现出来,形如填报界面的自动匹配。同时还支持后面联动的数据前面的标签在第一次打开模板时,并不展现出来。
  • 根据参数查看不同报表:在进行查询数据时,一般是根据参数值的不同展现不同的数据,该功能支持用户可以根据参数值的不同,选择跳转到不同的报表中。
  • 根据用户提供常用参数组合:支持针对用户的习惯保存最常用的参数查询组合,方便下次预览时直接调用。同时还支持根据用户习惯,智能推荐常用参数。

3.7.  图表

3.7.1. 先进的图表技术

国内报表及商业智能产品的图表功能通常依赖第三方图表控件实现,如fusioncharts、jfreechart,但这种做法有天然的缺陷:基础功能薄弱,需要高级图表时需要支付额外费用;技术支持能力薄弱,后续升级缺乏保障等。

帆软向用户提供自主研发的HTML5图表,具有参数传递灵活,交互效果好等特点,完美支持安卓和IOS移动操作系统;所有图表类型都支持丰富的动画效果,具有超强的个性化设置项。此外,帆软也提供了完整的接口,用户可根据需求,自行引入第三方图表控件。

3.7.2. 丰富的图表类型和样式

FineReport支持柱形图、折线图、条形图、饼图、面积图、玫瑰图、环形图、散点图、气泡图、雷达图、仪表盘、组合图、地图、甘特图、gis地图、圆环图、漏斗图、框架图、矩形树图、词云图等几十种图表大类,每一大类又细分多种形态,如柱形图包括堆积柱形图,百分比堆积柱形图等。

FineReport的“扩展图表”目前支持更多图表,支持三维轮播gis点地图,粒子计数器,轮播kpi指标卡,时间齿轮,仪表盘,水球图,等三维酷炫图表类型,且支持自动触发图表联动的动画效果,满足大屏及更多场景下的展示需求。

FineReport支持图表样式DIY,用户可以随意修改坐标轴、数据表、图标布局与风格设置、图表标题、图例、系列设置等属性,以使图表更加美观。

FineReport支持在某个单元格中插入图表,也支持在报表页面插入悬浮图表,进行任意移动。插入到单元格中的图表可以继承单元格的父子格与扩展属性。

FineReport图表数据源有两种,其一是数据集数据源,数据来自于数据集表,适用于报表中仅需图表无需表格时;再者为格子数据源,数据来自于单元格数据,适用于报表中既有数据又有图表。

3.7.3. 多样的图表交互效果

丰富的图表交互效果不仅可以帮助用户更好的阅读数据,还可以极大地提升用户体验。FineReport支持以下图表交互效果。

  • 数据提示:当鼠标移动到图表的数据点处,会显示该数据点所在的坐标值,或该值的相关信息
  • 交互高亮:当鼠标移动到图表的数据点处,该图表线条或区域高亮凸出显示。同时支持图表中满足某一个条件高亮显示。
  • 灵活的标记定义和图片填充:支持对标记点自定义,允许对标记点进行大小调整,甚至用图片替代标记点。如下图,可以在一些意义特殊的点以图片进行填充,使得折线图信息更丰富。

 

  • 系列交互:点击系列可以隐藏或显示该系列的图形,以方便用户更好阅读数据。
  • 图表缩放:图表可以放大缩小,支持鼠标手势缩放,也支持坐标轴放大缩小。

 

  • 多维坐标轴:在图表中展示多个维度,不仅仅局限于2个维度(展示2个维度只能比较一个维度之间的数据),可以在同一张图表中同时比较2个或2个以上的维度的数据。
  • 图表在线切换:在线修改图表类型,支持在浏览器端直接切换图表类型,且模板中只需要制作一张模板即可。同时支持自动播放切换,满足大屏动态展示需求。

 

  • 图表监控刷新:实时监控后台数据,数据变化时,在图表中动态展示并提示相关信息。

 

  • 闪烁动画:以闪烁动画的方式,突出显示某些符合条件的特殊点。

 

 

  • BS端支持排序、保存、全屏等交互操作。

 

3.7.4. 灵活的个性化设置项

趋势线:

 

 

警戒线:

 

根据条件显示柱子颜色:

 

多坐标轴顺序自定义:

 

 

标签自定义:

 

 

 

自定义堆积和提示:

 

区域背景自定义:

 

 

 

自定义图片填充:

3.7.5. 图表钻取

图表钻取也就是图表热点链接,即点击图表数据区域可以下钻查看下层数据,是一种常见的数据追踪方法。

3.7.6. 图表联动

点击父图表系列,所有子图表联动变化。这种联动是自动的,不需重新刷新整个页面。如点击左上角王伟所在列,其他图表就跟随联动显示王伟的订单、汇款、资源占比等各项数据。

3.7.7. 数据地图

在企业的信息数据中,有大量的数据是与地理位置相关联的,例如各区域的销售额和利润额等。这种情况下,如果能采用地图的形式来反映这些数据,无疑会比单纯的表格要直观形象得多,信息沟通将更加有效,也更具专业的品质和形象。数据地图就是解决此类问题的一种地理数据表达方式,它的作用有:

  • 创建基于地理位置的可视化视图,直观地展现各区域分析指标的分步、趋势等;
  • 发掘未被发现的数据宝藏,发现潜在的市场机会;
  • 提升企业的专业品质和形象,增强竞争力。

FineReport数据地图功能以一种全新的、有别于传统表格的可视化方式呈现业务数据,是商业分析的高级形式和手段,可以给企业提供很多可视化的信息。

FineReport的数据地图功能强大,有着丰富的内置地图粒度,支持钻取地图、热力地图、流向地图、气泡地图、自定义地图等展示类型,并且内置高德,mapbox等GIS图层,实现地图缩放、位置定位等功能。同时支持自定义GIS地图背景,自定义wms服务实现离线地图。

  • 丰富的地图粒度:FineReport内置了最新的世界地图、国家地图、省份地图等,可精确到县级城市,足以满足大多数用户统计、展示数据的要求。
  • 气泡图:数据以气泡图的形式展现,数据显示更直观。

 

  • 自定义地图:不同企业对地图数据有着不同的要求,而这种需求很难用特定的地图集合去满足,FineReport内置了常用地图,用户也可以自己上传地图底片,然后自定义绑定数据,完美解决自定义区域地图、自定义门店分布、自定义场所分布、自定义业务区域的难题。
  • 地图钻取和联动:FineReport天然支持地图的多层级钻取,用户不但能自定义钻取的层次和粒度,而且能自定义内置地图、内置统计图、用户上传地图等多种图形之间的钻取和联动。

 

 

 

  • 热力地图:用颜色深浅来表示数据大小,直观感受数据差异,这就是热力地图的最大优势。

 

 

 

 

 

 

 

  • GIS地图: FineReport可集成高德/mapbox等GIS地图,实现地图缩放、位置定位、钻取等功能。

 

  • 流向地图: FineReport支持流向地图,可应用于区际贸易、交通流向、人口迁移、购物消费行为、通讯信息流动、航空线路等场景。

3.8.  交互分析

良好的交互分析体验,可以帮助用户更好的阅读报表,发现数据价值。上文中已经提到的图表钻取、图表联动、参数查询也都是交互分析的一部分,这里再整体介绍下FineReport的交互分析的相关功能。

3.8.1. 联动

联动,顾名思义,在同一个报表内,一个区域的数据发生变化,另外其他区域的数据也发生变化。联动的区域(元素块)可以自己定义,可以2个元素联动,也可以多个元素联动。

联动包括两种类型,一是图表联动,上文已有描述;二是数据联动,是指是点击表格,数据变化,图表的数据也发生变化。见下图。

3.8.2. 钻取

钻取是改变维的层次,变换分析的粒度。它包括向上钻取(roll up)和向下钻取(drill down)。

roll up是在某一维上将低层次的细节数据概括到高层次的汇总数据,或者减少维数;是指自动生成汇总行的分析方法。drill down则相反,用的也最多,它从汇总数据深入到细节数据进行观察或增加新维。例如,用户分析“各地区、城市的销售情况”时,可以对某一个城市的销售额细分为各个年度的销售额,对某一年度的销售额,可以继续细分为各个季度的销售额。

通过钻取的功能,使用户对数据能更深入了解,更容易发现问题,做出正确的决策。

FineReport支持的钻取功能如下:

  • 多维数据钻取:一个单元格数据,支持多个数据钻取链接选项。如下图所示,订单号 的数据可以钻取“订单明细”、“物流信息”两个数据,即钻取连接到不同的报表中。
  • 任意组合钻取:图表可钻取出图表、表格,表格也可以钻取出图表、表格。即实现图表-图表,图表-表格,表格-图表,表格-表格的钻取效果。
  • 无限层次钻取:用户可以无限次数设置报表的钻取关系。

3.8.3. 多维数据分析

多维度数据分析是一种综合应用,是通过FineReport的决策报表、图表、参数查询、钻取、联动等多个功能来实现的。以一个示例来展示企业是如何进行多维度的数据分析的。

总体概况:

按月分析:

 

按产品分析:

按地区分析:

 

 

 

按机构分析:

3.8.4. 即时数据分析

通常的的数据分析只是基于逻辑数据层的数据进行筛选分析,但是这样的分析有着下面的问题:

  • 进行过普通筛选分析后,无法直接使用当前页面的数据进行深度分析;
  • 如果一开始通过多个编辑器控制数据,会频繁的和数据库建立连接,这在数据量大的时候效率很低。

FineReport为了实现深层次的分析,提供了当前页面数据再次分析的功能,利用报表访问地址添加op=view参数,避免了重复进行数据连接所带来的消耗。

3.9.  数据填报

传统意义上的报表,是负责展现的,解决数据呈现的问题,即把数据从数据库中取出来,然后以各种格式展现出来,对展示的结果可以进行导出、打印等。CRM、ERP、OA等基础信息化系统中都会包含一些页面,提供给业务人员或者用户对数据库进行增加、修改、删除等操作。这样的页面我们就叫做填报报表。

FineReport填报功能十分灵活,对数据和报表结构有着强大的处理能力。

  • 多源填报:一张填报表中的数据可以指向多个不同数据库或数据表。
  • 数据来去无关:填报表中可以从A数据库取数进行计算,经编辑后数据可填回A数据库,也可提交至B数据库或C数据库,数据的来源与去向是完全独立的,也就是可以做到数据的来去无关。
  • 自由填报:对财务、服务、医疗等等行业常常有如下样式自由、编辑风格多样化的数据录入界面,用来采集信息并保存入库,这样的报表我们称之为自由格式填报表。
  • 行式填报:若需要在展示数据库原有的数据的基础上再对数据进行添加,删除,修改,可以使用行式填报,这也是很常见的一种填报表样式。

 

  • 交叉填报:填报表是交叉报表,比较复杂。
  • 填报分页:在进行数据填报时若数据量过大,由于前端浏览器的性能限制,如果将数据全部展现出来,速度会非常的慢,影响用户体验,这时填报分页便派上了用场。

3.9.1. 多样的填报风格

FineReport中,web端录入数据需要为单元格绑定控件,只有绑定了控件的单元格才可以进行编辑。上文提到FineReport有着丰富的参数查询控件,同样的它也提供了丰富的填报控件。正是这些多样的控件,才有了多样的填报编辑风格和样式。

填报控件支持文本、数字、日历(日期,时间)、下拉框、下拉复选框、下拉树、按钮、单选按钮、单选按钮组、复选框、复选框组、密码、文本域、列表、视图树、文件上传、多文件上传和网页框等。

3.9.2. 填报的提交控制

FineReport支持智能提交,插入提交,更新提交,删除提交等多种提交方式,同时还可设定当单元格未被编辑时则不参与提交。为了提高填报报表设计的易用性,FineReport还贴心的提供了智能添加字段、智能添加单元格(组)等功能。

而通过设置提交条件,还可以实现对提交的数据进行过滤。在填报入库的时候对当前填报sql的数据进行判断,符合条件则正常执行该SQL语句,修改数据库数据,不符合则跳过当前sql,继续执行下一条。

此外还支持通过JAVA类进行自定义提交控制。

 

3.9.3. 数据校验

FineReport支持单元格自身、不同单元格间、不同sheet间的数据校验,能通过即时校验、提交校验、公式校验、JS校验等多种方式对数据的有效性和合法性做出判断,并将校验信息反馈给使用者,避免了非法数据的入库,同时也降低了用户录入数据的错误率。

在实际填报表中,很多时候数据校验并非一定是不能提交数据,而仅仅出于警告用户的目的。并且用户往往由于某些原因,数据即使不合法,但是仍旧需要提交, 为了解决此类问题,FineReport提供了强制提交功能。

3.9.4. 多级上报

多数时候用户用到的填报均是单一的填报,即填报提交完了之后数据直接进入数据库中,并没有审批等工作流程。但是在企业的应用当中,公司的业务人员将数据填报进入数据库,有时候是需要上级部门对其填写的数据进行处理和验证审批的,审核通过的数据才能入库,没有通过的需要退回重新填写,这个就是一个简单的工作流,我们称之为数据多级上报。

FineReport多级上报功能支持多种上报流程样式,支持通过邮件、短信、系统消息等方式提醒用户进行填报操作,还支持限时填报、任务定时下发等精细化控制。FineReport强大的多级上报功能,除了可以在FineReport内置的决策平台中使用,还可以和第三方应用进行友好集成。

  • 简单数据上报:是指任务流程单纯的从下级流转到上级直至关闭,一条直线流程
  • 联合填报上报:是指任务流程在流转过程中,有的节点进行分叉了,一个节点可以有多人操作。
  • 分发逐级上报:是指任务流程在流转的过程中,到达某一个节点的时候,该节点用户新建子任务进行分发,当子任务流转完成后回到该节点,该节点用户进行操作之后,再继续流转主任务。

 

 

3.9.5. 数据暂存

部分填报报表较大,需要填写的内容很多,填一次耗时较长,期间可能遇到误操作、网络中断、服务器问题等突发状况,可能导致用户辛苦填写的数据在提交时丢失。另外,还有些时候,填写的内容处于待定状态,用户可能需要修改但又没有想好如何修改,此时数据不需要进入数据库,只希望可以进行临时存储。面对这些让业务人员非常头痛的问题,FineReport提供了填报暂存功能。

在填报报表web页面,业务人员可以随时进行数据的暂存和清空操作。暂存的数据临时保存在帆软内置的hsql数据库中,用户可以手动清空。倘若不想手动清空临时数据,在正式提交后,这些数据也会自动清空。

上述是用户手动进行暂存,如果担心遗忘,可以设置自动暂存。自动暂存开启后,则控件只要编辑过了,就会自动保存;保存的数据在提交后也会自动清空。自动暂存默认是关闭的,需要手动开启。

 

3.9.6. 多sheet填报

多sheet报表指的就是将多个独立的报表以tab的形式组合到在一起,方便对多张填报表同进行编辑,保存数据到数据库或者批量打印,导出等。当我们需要同时填报多张填报表,而多个填报表挤在一个页面上有很繁杂,我们可以使用多sheet的方法,实现方便填报多张填报表,多张填报表也可以批量保存。使用多sheet填报表,每个sheet需要单独设置填报属性,即每个sheet的页面设计都需要绑定内置sql提交语句。并且,提交支持选择只提交当前sheet还是提交所有sheet。

在多sheet报表中,其中某一sheet引用其他sheet的单元格值参与公式计算。这就是多sheet填报表中经常会用到的跨sheet计算

FineReport通过sheetname!cellname来实现跨sheet取值,值取到之后,就可以像单个sheet那样进行格间运算了。FineReport除了可以进行多sheet传值外,在填报时,支持多个sheet之间数据的校验比对,只需要一次提交,就可以先对所有的sheet进行校验,一旦有不通过的则全部退回,只有全部符合要求才能入库,灵巧方便。

3.9.7. Excel数据导入

最终业务人员大都能够熟练使用office,在填报时常常遇到数据已经在相同格式的Excel文件里保存,因此在填报时通过在线导入,将已经存于Excel的数据直接导入到当前页面,并提交到库,节省了重新录入数据的工作量。

FineReport内置了按标题匹配、按位置匹配等导入逻辑,支持导入不同样式的Excel文档数据,包括固定行报表、不定行报表、自由格式报表。

如果要导入的Excel比较多,FineReport还提供了批量Excel数据导入功能。通过一个统一界面,批量将Excel中的数据导入到数据库中。

除此之外,我们还提供了自定义导入Excel的功能,用户可以根据需要自行选择导入Excel中的哪些sheet、行、列等。

3.10. 企业报表管理平台

依托FineReport数据决策系统,企业可以建成报表中心,方便的进行报表管理、用户管理、权限管理以及系统个性化设置,进而支撑起各种业务主题分析。

  • 统一访问:统一的应用访问门户,通过对用户和权限的控制,使得不同角色的用户能够通过一个门户系统看到符合自身需求的报表视图和报表功能。
  • 集中管理:对于数据决策系统中的系统资源、系统配置、监控日志、用户、权限、报表模板、定时调度等内容提供统一的系统管理环境,方便用户的日常管理。

3.10.1. 目录管理

  • 目录管理:对平台的目录树进行增加、删除、修改等操作,目录可以自由调整位置。
  • 节点管理:管理员或者其他有权限的用户,可以编辑各目录节点要展现的内容,包括报表模板、URL链接以及多级上报流程,支持设置报表的查看方式、展示终端及参数,报表模板等内容。
  • 支持目录与节点的混排,通过简单的拖动即可对目录与节点进行排序。

3.10.2. 用户管理

  • 用户添加:支持手动添加、导入用户或者同步用户数据集的方法批量添加用户及其角色。
  • 机构部门:可以按照组织架构对于用户进行分类管理。
  • 角色:可以按照角色对用户进行分类管理。
  • 用户认证:提供内置认证、LDAP认证、HTTP认证三种用户身份验证方式,可以做到与其他业务系统相结合。平台内置认证是指使用平台内部的用户信息进行身份验证,如果用户名密码一致,则通过认证,不一致则不通过。LDAP认证:用户登录的时候,平台拿用户名密码到设置的LDAP系统进行认证,认证成功则登录成功,若认证失败,则登录失败。Http认证:用户登录时,平台拿用户名密码到设定的验证页面进行验证,认证成功则登录成功,若认证失败,则登录失败。默认使用平台内置认证。

3.10.3. 权限管理

权限管理就是指系统设置的安全规则或者安全策略,用户可以访问而且只能访问自己被授权的资源,不多不少。FineReport决策系统中的权限管理分为权限项和权限受体两个方面:

  • 权限项就是指被分配的对象,指物。FineReport决策系统的权限项包括报表、平台管理、模板和数据连接。
  • 权限受体就是指将权限分配给谁,指人。FineReport决策平台是基于角色的权限分配体系,受体主要是部门职位/角色,但在此之外还专门为特殊权限分配需求提供了基于单个用户的权限设置功能。

决策系统提供专门的权限管理界面进行权限分配与查看,如下方示意图。

  • 权限配置:权限配置可根据部门职位分配权限、根据角色分配权限以及根据用户分配权限。
  • 已开放权限:在用户很多的情况下,快速查看目录对应有哪些用户有权限。
  • 权限快捷配置:权限快捷配置可根据目录分配权限。
  • 提供权限半选状态,当子有权限父无权限时,收起状态下,父目录文字将会高亮提示。权限逻辑为用户权限最大,解决某个部门有权限,但部门下某用户无权限的场景。

 

 

 

 

  • 权限复用:该功能可以帮助管理员克隆某个部门/职位/角色的权限,能极大的提升权限分配效率。

 

  • 权限用户配置:提供快速重置方式清空用户权限恢复继承设置。
  • 模板认证:用于在第三方业务系统挂载报表链接时进行权限控制。
  • 权限细粒度:除了上述介绍的报表资源权限控制外,FineReport还支持权限细粒度配置功能,通过设计器的权限配置界面或者调用系统函数,可精确控制不同人访问同一张报表查看的内容不一样、控制工具栏对指定用户是否可见可用(比如打印导出)、控制用户能否对数据进行填报操作等等,权限粒度可以细化到单元格。

3.10.4. 分级权限控制

面向集团管控需求,可以实现不同子公司/部门共用系统,各个分子公司/部门有其自己的管理员,并给其下属员工分配权限,即超级管理员控制所有权限,下级管理员只能管理自己职责范围内的用户和报表模板。具体见下一小节的详细介绍。

  • 分级授权:将授权权限赋给下级管理员的角色,同时配置该角色所能分配权限的角色(对象),此时,下级管理员的角色登录系统时,就能将其有权授权的权限分配给对应的角色。模板权限包括查看、授权和编辑三种。
  • 报表编辑:报表编辑包括对目录进行增加、编辑和删除操作,如果用户对某个报表目录有编辑权限,那么该用户就拥有该目录所有的目录管理权限。
  • 数据连接控制:通过角色权限控制来分配、授权数据权限,包含查看、填报和设计权限,拥有设计权限的用户,可以远程设计编辑报表。非管理员远程设计时,所有涉及选择数据连接的地方全都只能选到该角色所拥有查看权限的数据连接。而程序数据集,文件数据集,内置数据集则没有限制。服务器数据集中某些数据如果来自于该角色没有权限使用的数据连接,则该角色看不到此服务器数据集

3.10.5. 系统管理

提供包括登录设置、常规设置、打印设置、短信平台、邮件服务器、缓存等功能。其中登录设置,支持单一登录、上次登录信息提醒、密码策略、登录验证、登录锁定的功能选项。

  • 单一登录:部分客户出于安全性考虑,希望账号只能一处登录,平台里提供单一登录的设置。
  • 上次登录信息提醒:开启后登录决策平台,会提示上次登录信息。
  • 密码策略:包括忘记密码、密码定期更新、密码强度限制、修改密码验证方式四项设置。
  • 登录验证:可选滑块、短信、邮件三种验证方式。
  • 登录锁定:输错密码超过一定次数将锁定账号,防止暴力破解用户密码。
  • 常规设置包含常规参数、报表目录名称、服务器端字符编码、Servlet路径名、起始周逻辑等设置。

3.10.6. 智能运维

智能运维包含七大模块:内存管理、集群配置、备份还原、智能检测、云端运维、平台日志、资源迁移。

  • 内存管理:包括内存和CPU利用率的实时监控和预警,当内存达到指定的瓶颈值时触发短信、邮件、消息的提醒。支持智能地清除会话、释放内存。通过限制模板数据集最大行数、最大单元格个数、最大sql执行时长防止过大模板造成系统卡顿现象。支持设置会话的生命周期。进而保障服务器的稳定运行。

 

  • 集群配置: 可通过简单的操作快速配置集群环境。支持在平台中配置状态服务器与文件服务器,支持增删节点的热部署。
  • 备份还原:支持对平台的配置信息、模板、jar包、插件等内容进行备份还原,可设置备份的频率、份数上限与备份容量。此外还支持在线对服务器工程进行更新升级。
  • 智能检测:分为服务器配置检测、报表管理检测、全局属性检测三项。对于诸如预览模板报错,或者工程所在磁盘剩余空间不足,或者预定义样式丢失等问题,数据决策系统通过智能检测功能查出问题并提供建议方案。

 

 

  • 云端运维:开启此项功能后,云端在系统自动或者用户手动上传数据包(绝不涉及业务数据)后生成检测报告,给出用户运维建议,与本地运维的功能结合,更好地为系统的稳定保驾护航。

云端优势:

  1. 大计算:通过大量复杂计算模型、基于大数据的统计、比较和拟合,给出更精准、更智能、更全面的运维建议
  2. 零成本:无需消耗本地计算资源,大计算在帆软提供的云中心完成
  3. 低门槛:无需维护运维工具本身(运维工具部署在云端,由帆软的专业人员维护)
  4. 高成长:持续更新成长的运维平台,功能更新不需要用户额外处理,不会对用户产生任何负担

数据安全:

  1. 数据脱敏:只涉及产品改良和应用运维所需数据,绝不涉及业务数据
  2. 数据披露:用户可以随时看到上传了哪些数据
  3. 保密协议:如有需求,可以签署保密协议

支持的功能:

性能问题模板推算:基于系统使用情况,推算出性能存在问题的模板。
宕机分析:分析系统发生宕机的次数、时间,推算出可能造成宕机的模板。

  • 平台日志:对系统运行的各项情况进行监控分析,通过此功能可以查看到系统运行状态的各种指标,包括访问统计、用户行为、模板热度、性能监控、管理日志、出错日志。
  • 资源迁移:通过此功能,用户可在系统A中导出报表模板以及与之相关的平台配置、权限配置,再将其导入系统B中,以实现资源从系统A到系统B的增量迁移。

3.10.7. 消息中心

平台内置消息中心,支持系统消息提醒、上报消息以及模板消息。系统消息是指平台内部的消息通知,可用于定时调度失败提醒、定时调度任务通知、内存阀值通知等;上报消息是多级上报任务中的提醒消息,当指定的流转操作完成后,对特定的用户进行系统消息提醒;模板消息是由模板事件触发而来的,比如填报成功后,将事先编辑好的消息发送给特定用户。新收到的消息,系统会在右上角和右下角进行通知。

比如下图,系统消息通知:

除了消息通知以外,FineReport还支持短信、邮件、app通知、微信通知与钉钉通知,用户可以根据自己的使用场景选择适宜的通知途径。

3.10.8. 短信平台

短信是办公过程中一种【强提醒】方式,对于任务传达,事务提醒,身份认证有着独特的优势。FineReport在平台内置了短信功能,可用于模板短信事件、身份验证、定时调度失败提醒、定时调度任务通知、内存阀值通知,用户可以根据需要有选择性的开通。管理员登录平台后,切换到系统管理目录下的短信tab页,可以进行短信功能的开通申请。

 

 

开通短信需要跳转到帆软应用商城进行申请,申请通过后,在短信tab页下可以看到具体的使用信息,包括余额、运行监控记录等。

 

3.10.9. 安全管理

为了保证企业应用的安全,FineReport10.0着重在安全性上发力,从修补漏洞和主动防御两个方面去提升应用安全。

  • 安全防护:包括Cookie增强、文件上传校验、脚本调用公式、Security Headers四部分。其中文件上传校验开启后对填报及平台外观配置中长文件的后缀和大小进行校验。脚本调用公式限制开启后会限制js调用一些有风险的公式。Security Headers开启后将给请求附加HTTP Security Header属性,阻止漏洞攻击。

 

  • 访问控制: 分为访问频率限制和当前拦截名单两部分。其中访问频率限制开启后可设置具体限制频率,对报表的访问请求进行频率限制,超出限制频率则拉入拦截名单。拦截名单提供超出访问频率限制加入拦截的IP信息,管理员可以对名单中IP进行移除操作。
  • SQL防注入: SQL防注入通过禁用特殊关键字与转义字符两种方式来防止恶意的参数输入。
  • 全局水印:通过平台内的全局水印设置,可快捷地为所有报表添加水印。同时也支持为某个报表单独配置水印。同时定时调度结果报表cpr,frr同样支持水印。
  • 上次登录信息提醒:开启后登录决策平台,会提示上次登录信息。
  • 密码策略:包括忘记密码、密码定期更新、密码强度限制、修改密码验证方式四项设置。
  • 登录验证:可选滑块、短信、邮件三种验证方式。
  • 登录锁定:输错密码超过一定次数将锁定账号,防止暴力破解用户密码。

 

  • 管理日志:记录平台内所有管理设置相关的操作。

3.10.10.     注册管理

用户可根据自己的使用环境,在本地机器信息认证、私有云认证、公有云认证、加密锁认证中选择一种注册方式。

  • 本地机器信息认证:需绑定报表服务器的物理信息。
  • 私有云认证:适用于将系统部署到云平台上(比如阿里云的ACE),或者没有固定的物理信息的机器。
  • 公有云认证:用户无需提供机器物理信息,可直接到帆软认证服务器进行在线认证,方便快捷,安全可靠。
  • 加密锁认证:部分项目同一个报表工程可能会发布到多台服务器上或者有些项目不能随便透露服务器的MAC地址,此时可以选择加密锁认证方式。

3.10.11.     外观配置

每一家企业都不会只有一个系统,希望每个系统都能够有统一的UI规范,如平台风格、登录界面、首页等。对此,FineReport开放部分系统外观的API,用户可以自定义决策系统主题。

一个系统的美观度是由登录界面样式+大背景+整体配色+logo图标+主题包等共同决定的。登录界面样式可通过官方插件进行改变;整体配色主要由背景和配色决定,这些可以在决策平台-管理系统-平台外观里可视化配置,如下图所示。

而交互效果和菜单布局主要是由主题包来完成的,代码写的越多,可以变化的东西也越多,当然背景图片和主题配色也可以都通过开放的API来在主题包的代码中来修改,并不局限于平台外观选项中配置。

3.11. 定时调度

3.11.1. 定时任务

企业用户可能面临这样的情况,报表是需要定期产生、定期发布的,不得不定期的做同样的事情来得到用户要的报表。FineReport的定时调度功能可以让用户从不厌其烦的重复操作中解脱,可以方便快捷的设置日报、月报、季报、年报等任务,无需额外工作,定时任务设定后服务器便会在指定的时间自动完成设定的任务,生成所需的文件,甚至可以将生成的结果以邮件、短信、平台消息通知的方式通知您,让您及时的进行分析与决策。

  • 定时日报:日报功能是在每天生成固定某个时间段的数据,比如在今天生成昨天的00:00:00到23:59:59的所有数据,这些数据可以以pdf、word、cpr、xls等格式保存在自己设定的目录当中,这样的功能在一些企业当中相当实用,深受欢迎。
  • 定时月报或年报:每月在固定某个时间段统计各个分公司的销售业绩,还可在年底统计各个分公司的销售业绩,这些数据可以以pdf、word、cpr、xls等格式保存在自己设定的目录当中,进而备份数据。
  • 定时任务文件处理:在定时任务完成后可以将结果文件保存在指定的目录、FTP或者以附件形式进行邮件提醒,也可以进行短信通知、平台消息通知,还可以推送到移动终端。
  • 条件型定时任务:在执行定时任务之前进行一次条件的校验判断,如果不满足条件就不执行或者延迟后再次校验执行(只有在勾选了任务重启才会出现延迟一段时间后再次校验执行)。条件判断包含三种类型的选择:始终执行、公式判断和自定义类判断。

 

  • 任务管理:针对已设置的各项定时任务,可以进行集中管理,包括任务运行状态查看、暂停、编辑、复制等等。

3.11.2. 定时任务的权限控制

通过定时任务的权限控制功能,可将实现为不同用户生成不同的结果。

  • 定时任务内容权限控制:一般在公司的系统中会有工资选项,在月底的时候就可点击查看当月的工资信息。通过FineReport定时功能,可以实现在每个月月底,将当前用户当月的工资信息挂载在指定的工资节点上。
  • 定时任务邮件发送实现不同的人发送不同内容:在一般的销售行业中,一个厂家下面会有很多分销商,分销商需要从厂家那里进行采购,汇款等等一系列操作,而厂家也会定期的给这些分销商发送邮件,告知他们货物的剩余情况,汇款情况等,而且在公司发工资的时候,也会给员工发送一份关于该员工的工资邮件,那么像这种定期给不同的人发送不同内容邮件的需求,就可以用FineReport定时功能轻松实现。

3.11.3. 定时填报

FineReport也支持定时填报,通过借助报表模板,定时实现数据的加载、汇总、填入库。比如,每月定时统计各跟公司销售业绩,这些数据均存在分公司的数据库中,利用定时填报功能,即可将各分工公司总业绩存储到总公司数据库中。

3.12. 移动应用

移动互联网时代,信息无处不在。充分利用移动应用,人们可以摆脱办公场所的限制,充分利用碎片时间,进而可以“管理于拇指之间,决策与千里之外”。

FineReport支持报表集成到移动应用程序中,并可按照移动设备操作特点显示报表,比如支持页面布局自适应、放大、缩小等。支持报表离线查看,支持移动端进行在线填报,支持与PC端共用模板,减少开发量。

FineReport开发的原生app应用(app名称为:数据分析),支持IOS、Android系统,有着舒适体验,支持图表手势操作、各种钻取联动等交互特性。支持移动设备硬件地址绑定,支持VPN,支持单一登录、密码保护等多种安全性设置,保障用户信息安全。

3.12.1. ReactNative与原生相结合

原生APP应用系统核心框架采用ReactNative技术,按照MVC思想设计实现,视图和模型分离,保持视图的可扩展性、模型的可复用性。使整个系统拥有良好的稳定性、扩展性。

同时APP中表格展现等部分采用原生渲染技术,专为移动处理器加速优化,相比传统的HTML报表,渲染的速度、交互操作的流畅度均有大幅提升。

 

3.12.2. OEM云打包平台&个性化定制

除了提供官方APP以外,还支持通过OEM云打包平台来定制企业的个性化应用,能够更换应用名称、图标、启动页、版权信息;内置企业专属服务器、VPN配置等。同时可以由企业自主控制其版本迭代,提升移动应用的个性化与稳定性。

移动端还支持定制主题插件、目录样式插件、添加目录横幅以及修改目录图标等多种个性化定制方案。

  

3.12.3. HTML5报表

除了原生解析外,FineReport还支持HTML5解析,可以方便的与第三方应用做集成。同时,HTML5报表同APP采用同一套底层代码架构,交互、体验以及功能和APP保持了高度一致性。

3.12.4. 微信和钉钉集成

FineReport提供微信和钉钉集成插件,结合HTML5技术实现与企业微信、钉钉的集成。支持对微信和钉钉账号单点登录报表服务器,并进行权限对接。此外,还支持推送消息至微信和钉钉应用。

3.12.5. 移动端自适应与缩放

不管是APP原生还是HTML5报表,都能够适应不同分辨率的屏幕,对报表页面进行缩放以达到最佳效果,同时在手机端,决策报表会依据组件顺序转化为流式布局自适应显示。用户也可以通过组件放大来分析单个组件,同时支持双指缩放来进行局部放大,以便更清楚地查看一些细节数据。

 

3.12.6. 移动端钻取和联动

  • 移动端同pc端一样,支持数据钻取,图表钻取,支持多维度(多目标)钻取,且钻取的效果都是符合移动端特性的。而联动操作,移动端的效果和PC端是基本一致的。

3.12.7. 移动端填报

在PC端,FineReport有着完善的填报功能。在移动端APP中,FineReport填报功能依然强大,支持各种控件输入,并支持数据填报校验,且效果也都是移动UI化的。在此基础上,还融合了移动端的特有功能,比如:扫码输入、获取当前位置信息、拍照上传等。

3.12.8. 移动交互体验

FineReport有着良好的移动端使用体验,各控件、参数查询都已移动化,一些小功能如翻页、收藏、批注分享、扫描条形码以及调用摄像头拍照上传文件等,也尽显移动体验之妙。

3.12.9. 添加设备和绑定

FineReport支持手动输入URL和二维码扫描添加服务器,方便快捷。

FineReport支持设备绑定功能,开启设备绑定之后,只有通过授权的设备才能连上服务器查看报表,安全性大为提升。如果发⽣手机丢失的情况,只要及时在服务器上解除该设备的授权,该设备就⽆法连接服务器查看报表了。

3.12.10.     移动端消息推送

移动互联网让办公超越了空间的限制,企业管理层随时随地掌握企业核心业务数据的需求得到了满足。帆软FinRreport报表,支持消息推送至移动端APP、微信、钉钉。推送的消息可以设置定时频率、触发条件等,可以实现日/月报数据的定时推送;也可以用于监控指标是否在规定范围内,如果超过了阈值,就推送到相关负责人手机APP或微信中进行提醒。

  

3.13. 国际化语言支持

FineReport作为中国报表软件领导品牌,已走出国门,迈向世界,当前有简体中文、繁体中文、英文、韩文、日文等多个语言版本的设计器(软件安装包)。

此外,FineReport还支持国际化报表功能,即实现“在中国的时候显示为中文,在美国的时候显示为英文”的效果,通过切换设计器语言、切换浏览器语言等简单操作即可。

 

 

 

 

 

 

 

 

4.  部署集成

部署集成分为两个部分:报表工程的部署和Web页面集成。FineReport支持对页面集成,同样对于工程来说,报表工程可以作为一个独立的工程进行部署,也可以将报表工程集成到现有的工程当中。

4.1.  系统集成

4.1.1. java项目集成

FineReport是一个纯Java软件,因此对于J2EE的项目,可以做到无缝集成。其集成原理如下图:

4.1.2. 非java项目集成

对于非J2EE的项目,FineReport需要一个独立的web应用服务器来支持。独立于应用系统单独运行一个报表服务器和WeB/Service,主应用通过url方式访问报表,同时可以进行参数赋值等控制。最终通过浏览器展示给用户,用户同样可进行查看、编辑、报送、输出(PDF,Excel,WORD等)等操作。特别对于Windows的IIS服务器,FineReport提供了Tomcat和IIS之间的连接器,方便的实现了FineReport报表服务器与IIS服务器的集成。

4.1.3. C/S项目集成

现今主流的报表都是基于浏览器进行查看,这样方便异地办公和统计,但是对于像政府、军工等保密性比较强的行业或者只进行内部管理,不想和外网进行连通的企业,使用C/S系统更加符合企业、单位的实际需求。

FineReport采用在程序中嵌入浏览器的策略来调用报表,实现与C/S项目的集成。

这种方式其后台操作和普通B/S系统一样,但是报表只能在浏览器中进行展现,所以前台进行报表连接时不可能像普通的B/S系统一样直接调用url。

4.2.  web页面集成

报表通过各种样式如表格、图表等来呈现数据,进行统计分析。这样的数据表格或图表,用户在开发系统的时候也可以自己编程来实现,但是工作量大,维护难。用户往往选用现成的报表软件开发报表,最后将制作好的报表嵌入到自己的系统中,以节省项目开发周期。

现在用户开发的系统基本上趋向于BS架构的浏览器/服务器模式,这些系统可能由不同的语言开发,如HTML、ASP、JSP、PHP等,因此需要将制作好的报表嵌入到这些页面中,作为页面的一部分。

FineReport通过Frame框架将报表集成到Web页面中。web页面集成原理见下图。

4.3.  集群

10.0集群拥有的优点有:

  • 高一致性:1)通过远程设计或基于平台修改的配置信息和资源文件,各节点可实时同步。

2)对于节点间jar包不一致情况,启动时可自动检测对比并提醒。

  • 高可用性:1)无主机模式,某一节点宕机后集群系统仍可正常提供服务。

              2)节点宕机后,自动切换其他节点,已登录的用户无需重新登录 。

  • 强扩展性:基于良好的架构设计,Web集群具有良好的横向扩展性,通过增加节点数量使并发趋于线性增长,从而获得较高的并发支撑性能。
  • 使用简单:1)简单可视化配置,80%的配置都可在平台上完成。

2)支持热部署,增加删除节点无须重启集群,只需要拷贝节点文件即可。

3)实时监控各节点的运行状态,对于节点宕机、节点时间不一致等情况可以及时进行提醒。

4.3.1集群方案介绍

Web集群方案由“负载均衡+web容器+状态服务器+文件服务器+外置数据库”组成,下面对方案各个部分的作用进行简单介绍:

负载均衡:负载均衡的作用是依据算法将用户的请求合理分配到集群的各个节点上,以减轻单个工程的压力,降低系统对单个服务器的性能要求,是集群系统的入口。

web容器:web容器是一种服务程序,是能够支持发布web程序的软件,在服务器一个端口就有一个提供相应服务的程序,而这个程序就是处理从客户端发出的请求。

外置数据库:外置数据库在集群中的作用是保证各个节点间平台配置信息保持实时同步,各个节点共用同一个外置数据库。

状态服务器:状态服务器用于存储缓存、登录、模板锁、 sessionid等信息,集中管理所有的服务器状态与缓存,并对所有的访问和操作进行验证。

文件一致方式:文件一致方式有两种:节点间同步和文件服务器共享,两种方式均可保证各节点间模板等资源文件的实时一致性。

集群通信协议:在开启集群之前,可以自行选择集群连接方式:TCP(Transmission Control Protocol 传输控制协议)和UDP (User Datagram Protocol 用户数据报协议)。

4.4.  单点登录

FineReport提供多种单点登录方式,可满足不同情况下的应用需求。

 

 

5.  FineReport的扩展开发

随着FineReport的发展,它提供的设计器和服务器可以满足用户绝大部分的需求,实现高易用性的报表开发,提高报表开发效率,提升软件稳定性。但是需求是千变万化的,而FineReport所包含的功能是报表行业中比较普遍的典型的,也许某些个性化的功能通过FineReport软件无法实现。为此,FineReport支持应用开发人员使用网页脚本、API接口等对FineReport进行深入的开发与控制,以满足其个性化的需求。

FineReport内核设计如下图:

FineReport的模板与结果是分离的,没有执行过的工作薄或者报表就是模板,而执行过的就是结果。

5.1.  API接口

FineReport提供了丰富开放,结构清晰的API接口,应用系统可以按照系统需求,灵活的调用各种报表内置的功能,达到更深层的集成和控制。

5.1.1. 程序数据源

制作报表,最主要的是数据源的问题。一般客户制作报表时,会使用一些既定的数据源如数据库数据源、文本数据源、xml数据源等多种数据来源方式,但是有相当一部分行业是不能直接连接数据源的,他们只能通过一些接口来调用相关数据。

FineReport通过AbstractTableData抽象类的方式读取数据源,使得客户在报表制作时能够满足复杂多变的数据源。

5.1.2. 报表格式设置

用户可以对报表对象的单元格属性、web属性、参数、页面设置等多个属性进行控制,可以自由控制单元格的显示样式、工具栏的按钮、参数面板的展示、参数的赋值等等。

5.1.3. 自定义交互

在实际报表制作中,有很多时候需要一些触发事件的发生来使报表制作更加方便和友好。FineReport报表采用jquery 框架,使用户能更方便地处理HTML documents、events、实现动画效果,方便地为网站提供AJAX交互,并且它兼容各种浏览器 。FineReport报表解析后最终成为一个html页面,因此可以使用js对报表进行各种处理,用户可以使用jQuery框架的所有方法对报表进行操作,在此基础上,FineReport还封装了很多内置的 js方法。

5.1.4. 自定义填报

用户可以根据自己的需要来定义填报入库方式,通过填报接口,往数据库中保存用户操作日志、在填报成功与失败时进行各种处理等等。

5.1.5. 报表再处理

FineReport设计器基本可以零编码地设计出绝大多数报表,然而需求是千变万化的,也许某些个性化的功能通过设计器无法实现,因此可以将模板读入程序中,进行修改后再导出,再在浏览器中访问报表。显然这样做比较繁琐,对于这种情况,您还可以直接将读取的模板保存为程序网络报表,直接在Web端访问定义的程序网络报表。

5.1.6. 自定义函数

FineReport已经提供了大量的自带函数,在正常情况下足够满足用户的报表制作需求,但是在一些特殊领域,可能需要一些特殊的函数,在这种情况下,FineReport提供了自定义函数机制,可以由用户根据业务需要自己来定义一些函数,但这些函数必须满足FineReport函数定义规则::Functionname(Para,Para,...),其中Functionname为函数名,Para为参数。

在FineReport中,每一个函数都被定义成一个类,这个类必须要实现Function这个接口,在运算的时候首先通过函数名反射取得这个类,然后调用它的run(Object[] agrs)方法。

5.1.7. 导入和导出

FineReport提供了强大的输入输出功能,所有的这些输入输出的类都在com.fr.report.io包里面。报表的输入指从报表的模板文件(XML格式的)创建WorkBook对象。输出则指将报表保存为各种格式文件,FineReport支持将报表保存为cpt、内置数据cpt、Pdf、Excel、Word、Svg、Csv等多种文件格式,释放导出进程。

5.2.  插件开发

插件是一种遵循一定规范的应用程序接口编写出来的程序,是软件开发的常见形式。例如在IE中,安装相关的插件后,WEB浏览器能够直接调用插件程序,用于实现某种特定功能。

FineReport开放了非常多的API接口供用户进行个性化需求的定制,并且提供了一整套的插件开发、安装、使用、管理方案,这样用户若实现某功能,可以通过帆软官方,也可以是自己,更可以是其他技术人员。

针对已经开发好的插件,帆软提供了插件商城供用户选择使用,如下图所示。

同时,帆软正着力构建FineReport生态圈,让更多的技术人员从FineReport的插件开发中获益。帆软官方不定期会发布各类付费插件开发招标,感兴趣的开发人员可以进行应标,开发出的插件只要验收合格即可获得官方现金奖励。此外,开发人员还可以自行根据自己对行业的了解,开发各类插件,挂到帆软插件商城出售,获得持续性收益。而企业客户,如果有个性化需求,无法用现有功能满足,也可以自行发布招标计划,吸引开发者帮您实现需求。

 

 

 

 

 

6.  FineReport性能和优化

软件成品除了功能外,用户都比较关心稳定性、并发数、数据量等性能,本章节为大家介绍此方面内容。

6.1.  实测数据

实测数据表明,常见的明细或分组报表,开启帆软的行式引擎后,50万行5列数据,即250万格子,内存消耗在100-150M之间,响应时间为1.5S左右 ;而100万行,5列数据,即500万格子,内存消耗在130-200M左右,响应时间为2.5S左右。

对于并发,FineReport在Intel(R) Core(TM) i7-2600 CPU @3.4GHz 3.39GHz/16G内存的机器上,50万条数据约250万单元格的报表,100用户并发访问,平均响应时间为28s;而100万条数据约500万单元格的报表,100用户并发访问,平均响应时间为32S。

6.2.  性能优化

在实际系统中经常遇到各种性能问题,如系统访问时间过长、频繁访问大数据量报表占用了过多的服务器内存而导致内存溢出、过多的用户并发访问导致服务器崩溃、访问了一张复杂报表数分钟后再次访问,还需等待相同的时间才看到结果、网页频繁地出现请求超时等,十分影响工作效率和体验。

FineReport基于十多年的经验积累,总结出了一套实际可行的性能优化方案,从数据源的获取,报表的制作思路、控件的使用到服务器的配置都有一整套的解决办法。

6.2.1. 报表性能优化

  • 优化报表取数:设计器拼出最终的SQL,将SQL语句传给数据库,数据库执行,将数据返回给设计器。所以我们可以通过控制数据量的大小和对数据的提前预处理来提高报表的性能,如采用SQL语句取具体的字段、SQL中直接分组代替报表中分组、SQL中直接排序代替报表中排序、使用视图、存储过程等方法。
  • 优化报表计算时间:完成报表取数后,设计器会对数据库返回的数据进行扩展、分组、列表、汇总等运算,好的模板制作习惯往往可以优化报表的计算时间,如巧用空白单元格、慎用隐藏行列、慎用合并单元格、巧用父格等。
  • 巧用参数注入:对于多数据集关联报表,当数据很大时报表的展现速度就会很慢,或通过写sql语句又很复杂。此时使用动态参数注入功能,既可加快报表的展现速度,又不用编写复杂的sql语句的方案。
  • 数据集缓存与共享:对于大数据量报表,若每次直接从数据库中查询数据,不仅增加数据库服务器的压力,也极大的影响了取数的速度从而降低了报表的执行速度,为此FineReport提供了数据集缓存与共享功能。FineReport可先将其数据集查询的结果缓存下来,对于缓存下来的数据,再次使用到相同数据集时,无需再次连接数据库重新查询数据,直接使用缓存下来的结果,即使用FineReport的数据集共享机制,达到资源复用,减少取数时间从而提高了报表的展现速度。
  • 启用行引擎执行层式报表:对于报表形式非常简单,只是简单的单数据源明细报表,但是数据量非常大,百万、千万甚至更多。报表取数及计算时间相当长。此时可以启用行式引擎,提高报表展示速度,对于用户来说,查询报表不会有滞后的感觉。

6.2.2. 服务器性能优化

  • 内存:JVM堆栈内存是决定应用服务器性能的关键指标,一般服务器默认的内存配置都比较小,在较大型的应用项目中,这点内存是不够的,因此可以通过查看与修改Web服务器内存大小来提高性能。
  • 并发:并发指多个客户端同时访问应用系统,连接数是同时允许访问该服务器的最大数目,控制连接数可以优化服务器的性能,保证服务器的工作效率。FineReport提供了静态并发和优先访问并发控制两种方式。
  • 服务器集群:集群可以利用多个计算机进行并行计算从而获得很高的计算速度,也可以用多个计算机做备份,从而使得任何一个机器坏了整个系统还是能正常运行。FineReport完全支持服务器集群,必须明确的是,集群的服务器间,需要有内网间通信的支持。不同服务器上的报表应用必须是一致的。

7.  产品环境支撑

7.1.  软件环境

具体软件环境要求如下表所示:

操作系统:Solaris 、Aix、Windows、Linux、Unix、IRIX;

数 据 库:Oracle、SqlSever、Mysql、Access、Sybase、DB2、Postgre、Derby(主流的一些关系型数据库和多维数据库);

服 务 器:Tomcat、Jboss、Weblogic、WeB/Sphere、Tongweb、resin等web应用服务器;

浏 览 器:IE、FireFox、Chrome等主流浏览器。

7.2.  硬件环境

具体硬件环境要求如下表所示:

系统注册用户数

系统在线人数

均值并发数

推荐配置

最低配置

2000~5000

400~1000

0~100

单机(JVM内存8G)

单机(JVM内存8G)

4000~10000

800~2000

0~200

单机(JVM内存12G)

单机(JVM内存8G)

6000~15000

1200~3000

200~300

单机(JVM内存16G)

单机(JVM内存12G)

8000~20000

1600~4000

300~400

双节点(JVM内存12G)

双节点(JVM内存8G)

10000~25000

2000~5000

400~500

双节点(JVM内存16G)

双节点(JVM内存12G)

12000~30000

2400~6000

500~600

三节点(JVM内存16G)

三节点(JVM内存12G)

30000以上

6000以上

600~900

三节点(JVM内存16G)

三节点(JVM内存16G)

说明:

注册用户数:系统注册了的用户

在线用户数: 用户同时在一定时间段的在线数量(一般注册人数的5%-20%之间,取20%)

并发用户数:同时向服务器发送请求的用户数(一般是在线人数的10-25%左右)

推荐配置时:  90%用户的访问时间低于2s

最低配置时:  90%用户的访问时间低于4s

JVM内存: 分配给FineReport容器Tomcat的内存。

物理内存: 硬件的内存,建议至少是jvm内存的1.25倍。

CPU :      测试服务器cpu共两块,型号为Intel Xeon E5-2620 V4。

注:网络、数据库sql处理均影响体验时长,本次报告只针对FineReport处理时长,内网、非复杂sql,可忽略网速、数据库因素。

 

 

 

 

 

 

 

 

 

 

8.  联系我们

了解关于FineReport的更多内容,可以——

  • 产品官网:finereport.com
  • 帆软论坛:fanruan.com
  • 商务咨询电话:400-811-8890
  • 商务咨询邮箱:business@fanruan.com

 

寻求关于FineReport的技术帮助,可以——

  • 技术支持QQ: 800049425
  • 技术支持电话:400-811-8890
  • 技术支持邮箱:support@fanruan.com
  • 投诉反馈电话:186-0252-2339
  • 投诉反馈邮箱:complain@fanruan.com
  • 在线文档:finereport.com
  • 交流QQ群: 916466732

 

9.  关于帆软

帆软软件有限公司(以下简称“帆软”)成立于2006年,是中国专业的大数据BI和分析平台提供商,专注商业智能和数据分析领域,致力于为全球企业提供一站式商业智能解决方案。帆软在专业水准、组织规模、服务范围、企业客户数量方面遥遥领先,先后获得包括Gartner、IDC、CCID在内的众多专业咨询机构的认可。并于2018年入选福布斯中国非上市潜力企业榜50强,工信部中国电子信息产业发展研究院与中国大数据产业生态联盟“中国大数据企业50强”。

帆软已经与超8400家企事业单位和组织合作,成功服务了包括中信银行,兴业证券,天弘基金,58同城,绿城集团,上海医药,吉利汽车,泰尔重工,顺丰速运,厦门航空,永辉超市,统一星巴克,蒙牛乳业,TCL,新华书店,德勤咨询,北京大学,海康威视,云天化集团,中国铁路,国家税务局,新希望六和集团,复星集团为代表的多家世界与中国500强客户以及组织单位。

帆软拥有自主知识产权的商业智能和数据分析产品,作为国内唯一厂商入选Gartner全球市场指南。通过提供高效易用、简捷智能的大数据分析工具,赋予超过200万终端用户大数据分析的能力。旗下产品包括:企业级WEB报表软件-帆软报表FineReport,入选Gartner报表平台全球市场指南;自助大数据分析的BI工具-帆软商业智能FineBI,入选CEIA中国企业IT大奖-最佳BI方案;专注移动数据分析的平台-FineMobile ;专注大屏智慧决策的大屏数据可视化方案;以及强大易用的云端应用搭建工具-简道云;这些产品在各自的领域内均处于领先地位。

帆软投身数据分析行业十余年来,坚信数据是企业、组织乃至个人的重要资产,我们致力于帮助企业了解和利用他们的数据,让商业智能和数据分析为企业增强创造财富的能力,让数据真正成为生产力!

9.1 品牌领导力

9.1.1 组织规模

帆软坚信与优秀的人一起做优秀的事儿,公司目前已有员工1000多人,产品和研发团队人员占比超过50%。

9.1.2 服务范围

帆软总部位于无锡,设有南京运营中心,并下设京津区、上海区、浙闽区、华南区、西南区、西北区、华中区、华北区、东北区等九个分支机构,39个线下城市服务网点,省份覆盖率100%,力求为每个客户提供更加细腻和专业的本地化服务。

9.1.3 销售业绩

帆软公司自正式成立以来,一直保持着高速增长,2018年销售额超4.6亿元,在国内商业智能软件领域独占鳌头。

9.2 品牌影响力

9.2.1 标杆客户

财富中国企业500强,帆软合作263家(2019)
中企联-中国制造业500强,帆软合作180家(2018)
中企联-中国服务业500强,帆软合作150家(2018)

中国软件企业100强, 64家选择与帆软合作(2018)
中国275家一级系统集成商,151家选择与帆软合作(2018)

 

9.2.2 行业覆盖

帆软用户遍布金融、房地产、建筑、医疗卫生、车辆、机械制造、交通运输、贸易流通、生活消费、文化传媒、服务咨询、教育科研、政府组织、公共服务、互联网、电子电器、通信、软件服务、石油化工、环境农业在内的国家统计局行业(GB/T 4754—2011)统计标准所涉及的所有233个细分行业。

9.2.3用户规模

帆软产品被成功运用在28000个企业或者组织的信息化项目上。拥有超过38W的用户开发者,每天都有超过200W的用户,使用帆软产品进行数据分析,查询,填报以及应用搭建。

9.3 产品体系

帆软产品体系覆盖企业全部的数据分析应用场景,依托原厂产品天然融合的优势,提供从大数据采集,大数据处理,大数据分析到大数据可视化展现的大商业智能解决方案。

  • FineBI,新一代自助大数据分析的BI工具,旨在帮助企业的业务部门用户充分了解和利用他们的数据。FineBI凭借强劲的大数据引擎,自动建模,用户只需在dashboard面板中简单拖拽操作,便能制作出丰富多样的数据可视化信息,并可以进行数据钻取,联动和过滤操作,自由地对业务经营过程中产生的数据进行分析和探索,及时地做出经营决策调整,让大数据释放出更多未知潜能。
  • FineReport,企业级web报表工具,中国报表软件领导品牌。FineReport易学易用,功能强大,简单拖拽操作便可制作中国式复杂报表, 轻松实现报表的多样展示、交互分析、数据录入、权限管理、定时调度、打印输出、门户管理和移动应用等需求。借助于FineReport的无码理念,实施商可以轻松的构建出灵活的数据分析,网络直报等应用系统,大大缩短项目周期,减少实施成本。对于最终企业用户,FineReport可以完美解决企业信息孤岛的问题,让企业彻底走出软件业 “年年需要花钱买新的软件,买来的新软件却不能满足年年变化的需求”的怪圈。
  • FineMoblie, 移动数据分析平台,为帆软全线产品提供移动端的数据分析和展示方案。采用HTML5和原生APP两种解析方式,具有良好的交互体验,多重安全防护,以及能够媲美PC端的功能:支持移动端数据录入,数据查询,数据联动与钻取,支持移动端扫码输入,批注分享,拍照上传等等。同时能够支持与微信企业号以及钉钉的集成,满足多场景的移动数据分析需求。
  • 大屏数据可视化方案,通过帆软的数据分析产品,用户可以构建强大、全面的“管理驾驶舱”,无需专门设计,就可以将企业的数据管理信息完美地投放在任何屏幕,比如交易大厅、管控中心、生产车间、展览中心等地的LED大屏上。可以实现完美的自适应效果,对于大屏实时监控的信息,比如股价,双11类活动实时交易状况,都可以通过图表属性的自动刷新功能实时同步数据库数据。也支持用户对于大屏的展现内容进行DIY的设计,持接近20种图表类型和延伸的多种图表样式,支持添加文本、图片、Web信息实现各种DIY的布局样式。
  • 行业产品化,帆软基于企业级数据分析软件服务的多年积累,以及在行业产品化领域的持续深耕,也为行业客户提供更有价值的企业信息化和数据化管理的行业化咨询服务。目前已经在银行、通信、医药健康、化工金属、零售电商、地产、证金期货、纺织鞋服、税务等众多行业和政府组织得到成功开展。帆软期望通过持续的沉淀与分享交流,持续提供帆软产品的应用价值以及行业整体数据化、信息化的水平。

 

 

-END-