报表工具FineReport最新版本V6.5.5金秋华丽登场

FineReport在报表行业一向以方便快捷,高效易用著称,为了让产品更加完美,新版本V6.5.5于金秋9月华丽现身。

6.5.5版本相对于之前的6.5.4,做了一些优化和提升,下面一起来看下新版本6.5.5是如何去粗取精,完善功能的吧~ » Read more…

This is a sticky post! continue reading?

揭榜咯~Finereport爱好者论坛征文竞赛第一期获奖名单!!!

各位FineReport的Fans们,感谢各位对报表制作工具FineReport的厚爱,感谢各位对Finereport爱好者论坛活动的关注!
在各位的积极参与和支持下,Finereport爱好者论坛第一期征文竞赛圆满结束!
在此,Finereport爱好者论坛管委会全体成员祝大家龙年大吉,好运连连!
» Read more…

This is a sticky post! continue reading?

FineReport 7.0正式版发布——B/S设计器引领报表行业趋势

7.0版本绝对不同于以往任何一个版本,它的出现具有革命性的意义。
1、BS设计器
报表制作工具FineReport首创了BS设计器,使用者在BS端简单拖拽目标数据及相关维度,即可得到从不同维度分析的结果,提升数据可视化程度,帮助决策层做出准确的决策。同时降低了系统开发的定制化程度,极大地降低了系统开发者的维护成本. » Read more…

This is a sticky post! continue reading?

报表制作工具B/S设计器的应用

简单即时分析,快速准确决策
企业的数据分析,目前很大程度上还依赖于报表展现,通常由技术人员根据具体业务需求设计好报表制作工具模板,再将数据展现出来,供决策层查看。但在实际开发报表时,很多业务需求不能确定,业务人员也不知道需求什么时候会有变动,如果用传统的方式制作报表,一旦需求变更,修改起来很是麻烦并且加大了技术人员的维护工作量。
» Read more…

This is a sticky post! continue reading?

报表软件Finereport7.0三大亮点

报表软件Finereport7.0正式版在B/S设计器、移动BI以及表单模式参数设计三方面均有革命性的突破,成为7.0的三大亮点。

亮点一:B/S设计器

Finereport7.0首创BS设计器,只要在在BS端简单拖拽目标数据及相关维度,即可得到从不同维度分析的结果。同时,它提升了数据可视化程度,降低系统开发的定制化程度以及系统开发者的维护成本。 » Read more…

This is a sticky post! continue reading?

FineReport与hadoop,hive连接

Hadoop是个很流行的分布式计算解决方案,Hive是基于hadoop的数据分析工具。一般来说我们对Hive的操作都是通过cli来进行,也就是Linux的控制台,但是,这样做本质上是每个连接都存放一个元数据,各个之间都不相同,这样的模式用来做一些测试比较合适,并不适合做产品的开发和应用。
因此,就产生Hive的JDBC连接的方式。
1. 步骤
1.1 拷贝jar包到FR工程
将hadoop里的hadoop-core.jar、commons-logging.jar拷贝至报表工程appname/WEB-INF/lib下;
将hive里的antlr-runtime.jar、hive-exec.jar、hive-jdbc.jar、hive-metastore.jar、hive-service.jar、jdo2-api.jar、libfb303.jar、log4j.jar、slf4j-api.jar、slf4j-log4j12.jar拷贝至报表工程appname/WEB-INF/lib下。
1.2 配置数据连接
启动设计器,打开服务器>定义数据连接,新建JDBC连接:
数据库驱动:org.apache.hadoop.hive.jdbc.HiveDriver;
URL:jdbc:hive://localhost:10000/default
注:hive服务默认端口为10000,根据实际情况修改端口;另外目前只支持默认数据库名default。
测试连接,提示连接成功即可。

This is a sticky post! continue reading?

Web报表finereport根据参数将数据存入不同的数据库

1. 问题描述

客户的用户群体很大,涵盖范围很广,为了数据安全,所以将不同区域的数据存在不同的数据库中。同时考虑到开发工作和后期的维护等,将这些数据的业务在同一张表里显示(这些业务关系一样,在数据库中表的字段都一样)。所以在数据录入时,需要根据用户所在的区域,将用户录入的数据存入不同的数据库表中。

2. 解决思路

在模板中建几个隐藏的按钮控件,分别设置提交事件,触发提交入库,再在工具栏上或者模板中设置自定义按钮,编写js,根据不同的参数触发不同的按钮,实现根据不同的参数提交到对应的数据库功能。

3. 示例

我们的FRDemo数据库中有2张表S订单和订单,这两张表的数据结构一模一样,选择华东,华中,华北地区的数据时,数据填入数据库S订单,选择其他地区时,数据填入数据库订单。

3.1 数据准备

新建模板,新建数据集ds1:SELECT * FROM [订单] where 货主地区=’${地区}’。

3.2 参数界面设置

切换到参数设计界面,将地区参数的控件添加到面板中,数据字典设置如下:

3.3 报表主体设计

这里为了简洁方便,只添加了几个控件,并没有将所有数据列都添加一个控件,如下图:

其中第5行中为填报控件,控件设置如下表:

控件类型 数据字典
B5 文本框
C5 下拉框 来源于客户表,实际值客户ID,显示值公司名称
D5 下拉框 来源于雇员表,实际值雇员ID,显示值姓名
E5 文本框 wu
F5 下拉框 公式:sql(“FRDemo”, ”select 货主城市 from 订单 where 货主地区=’” + $地区 + ”‘”, 1)

3.4 按钮设置

如上图,第2行中的三个按钮分别为进行提交入库操作的2个隐藏按钮和一个进行点击操作的可见按钮。

· E2单元格

控件名为“s”,该控件控制S订单表的填报,添加一个点击事件,事件类型选择提交入库,如下图:

· F2单元格

控件名为“S1”,该控件控制订单表的填报,添加一个点击事件,事件类型选择提交入库,如下图:

将E2单元格和F2单元格中的按钮都设置为不可见。

· H2单元格

给该按钮添加一个点击事件,如下图:

完整js如下:

1. var s=contentPane.getWidgetByName(“s”);

2. var s1=contentPane.getWidgetByName(“s1″);

3. if(area==’华东’||area==’华北’||area==’华中’)

4. s.fireEvent(“click”);

5. else

6. s1.fireEvent(“click”);

该提交按钮也可自定在工具栏中,设置过程一样。

3.5 效果查看

点击填报预览,参数选择华东,效果如下图:

参数选择西南,效果如下图:

注:此例中由于数据的限制,只用了2张数据表进行填报,如果有多张表,则需要设置多个隐藏按钮。

图表联动——三个图表的联动

1. 问题描述

如何实现点击图表1,图表2显示图表1的关联数据,接着点击图表2,图表3显示图表2的关联数据又该如何实现呢,如下图,下面详细介绍该功能的实现步骤。

2. 示例

2.1 数据准备

新建3个数据集作为3张图表的数据源。

ds1:SELECT * FROM [销量] where 1=1 ${if(len(地区)==0,”",”and 地区=’”+地区+”‘”)}

ds2:SELECT * FROM [销量] where 1=1 ${if(len(地区)==0,”",”and 地区=’”+地区+”‘”)} ${if(len(销售员)==0,”",”and 销售员=’”+销售员+”‘”)}

ds3:SELECT * FROM [销量] where 1=1 ${if(len(地区)==0,”",”and 地区=’”+地区+”‘”)} ${if(len(销售员)==0,”",”and 销售员=’”+销售员+”‘”)} ${if(len(产品类型)==0,”",”and 产品类型=’”+产品类型+”‘”)}

2.2 图表设置

· 数据源设置

新建3张图表,柱形图、饼图、折线图,其数据源分别为ds1,ds2和ds3,具体数据源设置如下图:

· 交互属性设置

点击柱形图时,需要将柱形图的分类轴传递给饼图,作为饼图数据源和折线图数据源的一个参数值,点击饼图时,需要将饼图的系列名传递给折线图作为折线图数据源的参数值,如果类似图表联动中的是两个图表之间的相互关联,则直接使用超级链接-联动单元格,但是此处折线图需要接收来自柱形图的分类轴值,而折线图却不是和柱形图联动,所以无法直接使用超级链接-联动单元格,我们可以使用超级链接中的动态参数,点击柱形图或饼图的时候,动态的给参数赋值,并且参数值一直存在,设置如下图:

柱形图

饼图

· 参数界面设置

如最上面的效果图,切换到参数设计界面,点击右侧下方面板的全部添加,将参数全部添加到参数面板中,如下图:

地区参数的控件类型选择下拉框,数据字典设置如下图:

将销售员和产品类型的控件以及标签设置为不可见,将销售员和产品类型两个参数的控件添加上去主要是为了在预览一次报表之后,重新选择地区时,可以重置销售员和产品类型两个参数。

2.3 效果查看

点击分页预览,效果如上图。

FineReport报表和J2EE应用的集成

FineReport是一个纯Java软件,因此对于J2EE的项目,可以做到无缝集成。

报表服务器并非物理概念的服务器,而是以一个标准的J2EE应用的形式或者jar包的形式提交给程序。应用程序通过url来调用报表,或者通过开放的API来调用报表的各种功能,来实现更加灵活的控制。报表集成到应用程序后,即可作为一个统一完整的程序来进行发布。

同时无缝集成还能够使报表与应用程序使用同一个数据库连接池,或进行集群,负载均衡等,提高报表的运行效率,原理图如图1所示:

图1 Java项目集成原理图

报表工程目录结构

在说明配置FineReport服务器之前,我们先了解一下FineReport应用服务的目录结构:

对上图的目录层次结构我们做一些说明:

WebReport:可以看到所有的相关文件都包含在WebReport这个服务器应用工程中,也就是说WebReport是我们默认的工程名,此项名字可以修改。

WEB-INF:WEB-INF目录是J2EE服务器中默认规定的,全称是Web Information。

classes:classes 文件夹也是应用服务器默认规定的。主要作用是存放.class文件,例如在FineReport中,如果要使用”自定义函数”,”程序数据源”和”程序网 络报表”等功能,必需先使用我们提供的接口来编写.java文件,然后将编译后产生的.class文件存放到该目录下。

lib:lib 也是应用服务器规定的目录结构。FineReport该目录下主要包括fr-server-6.5.jar,第三方类的jar文件和一些常用数据库 JDBC驱动,比如ojdbc14.jar就是Oracle数据库的驱动,应用服务器在启动的时候会自动将lib目录下所有的.jar文件加载到系统的 classpath中;fr-server-6.5.jar包含了FineReport服务器的所有功能,它是由FineReport源文件编译后产生 的.class类文件。例如:Servlet类com.fr.web.ReportServlet便位于fr-server-6.5.jar中。

reportlets:reportlets是FineReport服务器默认规定的,不能修改。可以在这个目录下面建立子目录文件夹,FineReport设计器设计的模板一般都保存在这个目录或者它的子目录下面,以便FineReport服务器调用。

resources:resources 是FineReport服务器默认规定的,不能修改。下面保存了一些.xml文件,这些.xml文件里面保存着FineReport服务器的配置等信 息,FineReport服务器启动的时候,会自动加载这些.xml文件(有些xml文件不是运行必需的)。

web.xml:这个文件也是J2EE服务器所规定必须建立的,我们在此文件中定义了FineReport的SERVLET的解析路径方式,权限加载等一些内容,此文件初始配置内容如下:

1.  <?xml version=”1.0″ encoding=”UTF-8″?>

2.  <web-app xmlns=”http://java.sun.com/xml/ns/j2ee” xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance”    xsi:schemaLocation=”http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd”    version=”2.4″>

3.  <servlet>

4.  <servlet-name>ReportServer</servlet-name>

5.  <servlet-class>com.fr.web.ReportServlet</servlet-class>

6.  <load-on-startup>0</load-on-startup>

7.  </servlet>

8.  <servlet-mapping>

9.  <servlet-name>ReportServer</servlet-name>

10.<url-pattern>/ReportServer</url-pattern>

11.</servlet-mapping>

12.</web-app>

报表集成步骤

1、  服务器部署

FineReport报表是一个Servlet应用。大 家知道,Servlet是一种服务器端的Java应用程序,具有独立于平台和协议的特性,可以生成动态的Web页面。 它担当客户请求(Web浏览器或其他HTTP客户程序)与服务器响应(HTTP服务器上的数据库或应用程序)的中间层。 Servlet是位于Web 服务器内部的服务器端的Java应用程序,由Web服务器进行加载,该Web服务器必须包含支持Servlet的Java虚拟机。

因此FineReport报表必须部署在Web应用服务器如Tomcat、Weblogic、Websphere等下面,启动Web应用服务器时就会加载FineReport报表这个Servlet,从而交互式地浏览和修改数据,整个过程如下:

报表部署分为两种,一是报表作为一个独立的应用独立部署;或者是集成到现有应用即嵌入式部署。不管哪种部署方式,他们的目录结构都是类似的。

如下图我们对未包含报表的应用及包含报表的应用目录作一个比较:

1.1独立部署

FineReport安装目录下的WebReport目录就是一个标准的应用,因此,若用户希望将报表作为一个独立的应用进行部署的话,可以直接使用WebReport目录进行发布。

1.2嵌入式部署

若用户希望将报表集成到自己的应用中的话,则可以对应上图“部署报表后的应用”目录结构,将对应的报表文件拷贝到相应目录即可。

2、  页面集成

用户系统的网页可能由不同的语言开发,如HTML、ASP、JSP、PHP等。FineRepor报表可以通过Frame框架集成到Web页面中,指定Frame的src即可。

例:<iframe id=”reportFrame” width=”900″ height=”400″ src=”/WebReport/ReportServer?reportlet=/doc/Primary/Parameter/Parameter.cpt”></iframe>

另外页面集成中的一些常见应用:动态传参、自定义参数界面、自定义工具栏、页面布局等;可以参考FR在线帮助手册。

3、  权限集成

3.1、FR权限流程图

3.2、丰富的权限认证方式

FineReport为了保证权限功能的通用性,提供了多种认证方式,其总体架构图如图

图2 FineReport权限总体架构图

3.3、权限粒度

很多系统的权限认证只是限制模块的使用,使得合法用户能够行使自己的权利。FineReport在满足这种整体权限认证的同时,权限的控制力度可以达到同一张报表的内容在不同权限下展示的效果不一样,这样就免除了制作大量的报表来实现同样效果,尤其是在企业内部业务繁杂,审批麻烦时,一张报表就可以解决所有问题。

3.4、灵活的权限集成

伴随着国内信息技术的高速发展,越来越多的政府和企事业单位使用信息管理系统来管理日常的工作生产,但是每个系统应用都有自己的权限体系模型,经常会出现一个用户在好几个系统应用里面都有设置,这样就产生了两个问题:1:用户每访问一个系统,都要登录一次,既繁琐又要用户记忆很多的用户名和密码;2:加大了对日常的组织分配和人员变更的维护的复杂性和高成本性。

FineReport提供的权限认证,可以灵活的与其它系统进行统一认证,实现单点登录。

当我们按照上面的三种类型的身份验证方式配置好相应权限后,需要将报表和相应的系统进行集成,我们采取的方式是:

1:当客户登录时通过FR登录接口传递相应的用户名和密码给我们报表系统;

2:报表系统会匹配报表用户数据集中的用户名和传递过来的用户名,然后识别登录用户的角色,并根据角色绑定相应的权限;

3:把角色存储在session里面,这样用户访问每张报表时,报表权限都会先和session进行验证,满足的话就直接进行相应权限的操作,不满足的话则会提示没有权限。

具体的实现过程如图3所示:

图3 权限集成示意图

注:FR报表登录接口:http://../ReportServer?op=auth_login

FR报表登出接口:http://../ReportServer?op=auth_logout

总结

FineReport同样作为J2EE的一个应用,可以跟任何J2EE架构的工程进行完美的无缝集成。

如有任何疑惑,FR竭诚为您服务。

Java 报表软件finereport手机端使用教程

在手机端查看finereport报表之前,需要下载我们的移动端app。下载地址为:Android,在google play 里面搜索finereport或数据分析,然后下载安装。iphone、ipad,在app store里面搜索:finereport或数据分析,然后下载安装。

下载完成之后,按照提示安装。

1. 操作步骤

首先在PC端搭建好数据决策系统,然后再在手机端连接该决策系统。

1.1 配置服务器连接

  • 进入配置界面

打开软件,首先需要连接服务器,点击菜单键,选择服务器,进入服务器连接配置界面,如下图:

服务器界面:

  • 添加服务器

1.2 点击添加服务器,如下图:

点击完成,服务器连接则配置好了,接下来可以查看报表。

FineReport中调用Oracle存储过程

方案:在报表中通过ajax在后台执行jsp,jsp获取参数并调用数据库存储过程,下面以一个实际例子来看。

环境:Tomcat6.0,FineReport7.0.2,jdk1.6,oracle

步骤:

1:所有环境安装完毕,同时在oracle中创建一个删除数据的存储过程,如下图所示:

2:编写一个jsp页面,用以获取对应存储过程,如下所示:

3:新建报表模板,并在模板中建立按钮,书写对应js如下:

4:实际运行测试,结果如下所示:

点击前:

点击后:

结束语:

例子比较简单,但是实际的时候一些编码等问题还是需要考虑的,如果传入数组参数另说了。

Web报表FineReport7.0优化功能之下拉树

1. 控件效果

注:6.5.5版本会在输入框中显示选择值的完整路径。

2. 基本属性

2.1 控件名

文本控件

2.2 可用

文本控件

2.3 可见

文本控件

2.4 控件值

给下拉树赋默认值,根据下拉树返回值的不同,默认值的输入格式不相同,必须与返回值的格式保持一致。

2.5 数据

  • 自动构建

自动构建树能够根据数据自动构建出下拉树,无需一层一层定义数据,但是其必须使用树数据集来构建。

  • 分层构建

不是所有的数据都能自动构建出下拉树,因此需要分层构建。

层次1

层次1通过数据字典来定义下拉框的实际值与显示值。

层次2

层次2的数据一般会根据层次1的数据进行过滤,因此需要定义成数据集,然后通过数据查询返回数据集定义的列。一般数据集定义成:SELECT 字段 FROM 表名 WHERE 层次1的字段 = ‘${layer1}’

注:layer1表示取层次1节点的值,若在层次3中调用,则是SELECT 字段 FROM 表名 WHERE 层次2的字段 = ‘${layer2}’依次类推。

3. 高级属性

3.1 多选

即确定下拉树类型,勾选多选即为多选下拉树,去掉勾选即为单选下拉树。

3.2 异步加载

勾选即为使用异步加载,下拉树中首次只加载父节点的数据,当点击父节点前面的加号后才会重新与数据库交互取出对应的子节点数据,适用于数据量大的情况。

去掉勾选表示下拉树中的数据是一次性全部取出,适用于数据量小的情况。

3.3 只返回叶子节点

勾选只返回叶子节点,即下拉树文本框中只返回该节点的最后一层数据,不勾选即表示选中什么则返回什么,如下表:

勾选叶子节点 不勾选叶子节点
选中a 返回值:a1,a2,a3 a

注:只返回叶子节点只对多选下拉树起作用。

用FineReport报表工具实现字段拼接回填数据库

数据表中需要新建一个字段district,该字段内容需要由另两个字段country和city加上汉字拼接而成,手动添加数据非常麻烦,这时候用FineReport报表工具的填报功能可以简单且快捷地实现字段拼接并回填至数据库,实现该字段内容的更新。
下面看一下Java报表工具FineReport实现这一效果的具体步骤。
1. 绑定数据列
报表表样中,A3单元格绑定country字段,B3单元格绑定city字段
C3单元格时对应district字段的,district字段由country字段和city字段拼接而成,因而在C3单元格中写入公式:=”国家:”+A3+”城市:”+B3

2. 设置填报属性
设置报表填报属性,使得每个单元格的值能够回填至对应的数据表字段中,如下图

3. 设置控件属性
设置报表控件属性,方便修改单元格的值,并进而实现各字段的更新,这里将3个单元格都设置为文本控件,如下图

4. 填报预览
点击报表设计器上的“填报预览”按钮,可以在浏览器中预览到C3单元格的值已经自动拼接了,如下图

点击“提交”按钮,弹出提交成功对话框,表示更新的字段已经回填至数据库中

5. 检查数据表中district字段
查看数据表,发现原先为空的district字段已经更新

FineReport报表填报主键空值问题

1. 问题描述

在使用Web报表软件FineReport制作填报模板时可能会遇到以下问题:数据库中的A字段为主键,在定义报表填报属性时设置别的字段为主键,数据库中有一条记录是某个报表主键对应的字段值为空,当对这条记录进行更新时,却进行了插入提交。
注:在Java报表软件FineReport中,报表填报属性设置主键,即判断单元格中的值与数据库中是否相同,若有相同的则进行更新,若没有则进行插入。
2. 原因
当有空值时,那么在执行update语句时则where条件后面是“某字段=null”,而在填报属性中若where 某字段=null时,update语句会失效然后便会转向insert语句,这样就造成了插入重复数据的现象。
3. 解决方案
首先要知道可能为空的报表主键对应数据库中的数据类型,然后在报表填报属性设置里面给对应的字段的值设置公式:以字符串为例,字符串对应的空值就是空字符串””,则公式为if(单元格=null,””,单元格)。
下面以一个实例看一下问题。
3.1 实例
新建工作簿,将A1,B1,C1,D1单元格的控件类型定义成文本型。
以Employee表为例,此表中的EmpID为主键,然后在报表填报属性处设置EmpName和Sex为主键,最后的填报属性界面如下:

填报预览,在A1,B1,D1分别输入1,Jack,团员,C1不输入值,点击提交,提示提交成功。然后同样再在这几个单元格中分别插入A1,B1,D1中分别输入2,Jack,党员,C1同样不输入值,本来应该只剩一条后输入的记录的,但是两条都存在,如下图所示:

将有可能为空的字段即Sex字段对应的值改成if(C1=null,””,C1),然后将数据库中的这两个值删除掉,将这两条记录重新插入,数据库中只剩一条记录了即对第一条数据进行了更新操作,如下图所示:

FineReport移动BI

移动时代引发了技术和行为的变革。毫无疑问,世界已经改变,我们进入了移动应用时代,即第三屏时代。利用3G网络技术、移动互联网技术、智能手机、各种pad,我们早已不再受家庭、办公室、传统媒体的限制,现在通过这些移动终端,只需要动动手指即可随时随地地满足自己的需求。美国知名智库移动未来研究院执行长Chuck Martin指出,世界变得趋向移动化并非只是说技术方面的变革,而是说大众行为方面的根本性的变化。移动应用时代不仅给了我们丰富、便捷的信息应用体验,加快了我们生活与工作的节奏,也在改变着我们获取信息和进行决策的方式。

移动时代引发了企业管理模式的变革。一个多世纪以来,从工业革命时代到移动互联网时代,科学技术是促进商贸发展的重要因素,同时也是管理理论和管理实践落地的帮手,管理思想的演变总是紧随技术发展的脚步而不断前行。企业管理层对与企业的分析和掌控程度,往往决定着领导决策的成熟度。只有时刻掌握企业的运营状况、全面了解企业的发展动态,才能及时、有效地制定各种管理措施,应对各种管理决策上的失误、并及时调整。在移动信息技术的深刻影响下,信息总量迅猛增长,人们传递信息的速度越来越快,信息的形式也越来越丰富。管理学之父Peter F.Drucker强调在现代管理中要卓有成效,信息的全面性和实时性至关重要,移动时代恰好就满足这样的要求。虽然企业信息不对称现象依然存在,但已经变成了对非结构化数据和结构化数据的实时掌握、分析和运用,扁平化管理更将大行其道。故而就要求企业管理能跟得上信息流的速度,能合理地、有效地根据信息来分配企业资源,并能在所获得的信息数据上进行及时、快速分析,正确决策,但实际中企业管理者很难一直坐在电脑前,因此企业管理的移动应用化就显得迫切而至关重要。

基于时代的要求和企业管理的需要,移动BI便应用而生了。移动BI是帮助用户通过移动终端来实时连接企业数据中心,获取分析数据。它让企业能够实时决策、提高运营效率、灵活的工作流程以及加强对客户的响应能力。对于企业来讲,所需要的决策与分析并不仅仅是由办公室发出的,更多的体现在随时随地的决策,移动BI已经成为企业未来必然的选择。

帆软FineReport中的移动BI功能模块——数据决策平台移动客户端,以“管理于拇指之间,决策与千里之外”为理念,为用户搭建一个通往“无处不在的信息”的桥梁,帮助用户做好时间管理,充分利用时间碎片,随时随地分析决策,运筹帷幄,掌控好企业全局。

FineReport可以帮助企业用户构建自己的移动BI,使用者可以在iphone、ipad及android智能手机上访问平台、浏览处理报表,查看分析企业的数据,而且可以得到适应于移动化的更优质的用户体验。个性化、人性化的定制和使用是先进信息化管理系统的重要特征,以个性化定制为特色的FineReport移动BI功能模块有主要有以下特点:

1、个性化定制BI应用。

用户可以凭借自身对于业务的熟悉和对需求的充分理解,凭借FineReport的强大报表设计功能,自行零代码开发设计各种以报表分析为基础的BI应用。因为FineReport不但可以完美解决企业信息孤岛的难题,而且还能对现有软件进行改进和补强,可以打通企业内部各项移动应用,如移动ERP、移动CRM和移动OA等应用之间的关系,以及移动应用信息系统与传统信息系统的关系。故而FineReport的移动BI功能模块在真正意义上实现了数据的全面整理和个性化展示分析。

2、个性化的信息呈送。

FineReport移动BI模块实现了与企业数据中心实时动态交互,帮助用户及时掌握企业动态。用户可以定制呈送的信息内容、方式和时间,自由选择要接收的数据信息。FineReport移动BI模块支持实时呈送和定时呈送两种方式,呈送信息的内容可以是统计报表,也可以是监控预警信息。用户只需要在数据决策平台中进行相关配置,结合用户角色和权限控制,即可轻松享受贴心的信息呈送的服务。有了个性化信息呈送,不管用户身在何地,都可以按照预定义,收到各种交互式的参考信息,帮助做出决策。

3、多样化的数据展现和交互。

基于强大的报表展现功能和表单控件,FineReport移动BI模块可以提供多样化的数据展现和交互的应用。它支持简单列表展示、中国式复杂报表展示、增强统计分析展示、统计图展示和仪表盘展示,支持下拉框、日期、文本框等控件,可以进行数据钻取、图表钻取、图表联动等操作,更好的进行系统的、有条理的数据展示。

FineReport移动BI模块也支持数据的填写上报,用户可以随时随地的审批工作、处理业务、下达决策指令。

4、舒适的移动应用体验。

FineReport移动BI模块分为IOS和Android两个版本,用户只需下载安装并输入一次数据中心(BI)服务器地址,便可实现方便快捷、安全可靠的本地登录。在报表浏览时,移动BI模块提供了大小自适应和缩放功能,特制的图表触摸及手势操作、控件操作,以提供更好更快的BI体验。

FineReport移动BI的部分截图

1、iphone

2、android智能机

3、ipad

FineReport报表设计器(UI)

报表软件从本质上来讲,属于网页制作工具的一种,最终目的是从原始数据中抽取预定义的信息,经过报表服务器的分析运算后,将结果展示到浏览器中。报表软件的出现,使得用代码才能实现的报表,只需要通过报表软件的可视化设计,简单操作即可实现。报表软件是社会科技发展和专业化分工的必然产物,它大大缩短了信息管理系统的开发周期,丰富了系统数据展示的方式,提高了信息管理系统的质量,从而为企业赢得更多的利润和口碑。

正是因为“缩短项目开发周期”这一专业化的分工定位,“产品易用”、“产品实用”和“学习成本低”对报表软件显得格外重要,这三个名词也渐渐成为衡量一款报表软件领先与否的关键因素。

产品易用、实用和学习成本低,是主观上在用户使用产品中建立起来的感受之一,我们把这些主观的感受称为User Experience(用户体验,UI)。UI是主观的,且其注重实际应用。近年来,UI在人机交互技术发展过程中受到了相当的重视,渐与传统的“效率、效益和基本主观满意度”同为产品的可用性衡量指标。

FineReport报表软件产品自V6.5版本以来,越来越重视产品的UI,带着“易上手、易使用、高效率、学习成本低”的UI优化理念,综合广大用户对产品的使用心得和建议,FineReport V7.0版本的设计器界面做了全新设计,特别强调“专注”和“易用”两个特性,以提供给用户更加舒适的产品使用体验,使报表设计效率再次提升。

1、改善用户的感官体验

感官体验是用户体验中最直接的感受,所以设计器界面的舒适性非常关键。帆软的UI设计师们调研了大量的应用软件实例,根据最新的UI设计理论,全面考量和设计了FineReport的设计器界面。可以看到,FineReport V7.0的整体风格、功能模块布局、颜色搭配,较以往版本,更大气和成熟,更显国际化。比如新的设计器界面去掉了一些炫目的色彩,更多使用稳重低调的商务灰,这样的色彩设置可以集中用户的注意力,更加专注于当前的这一张报表的设计。

2、改善用户的交互体验

上面提到“易用”和“实用”是衡量一款报表软件优秀与否的重要标准,FineReport V7.0版本在提高易用和实用的特性方面,也体现的淋漓尽致,进一步改善了用户的交互体验。新版本的设计器充分尊重用户的软件操作习惯,采用“左-中-右”的界面布局,左边是数据操作类面板,中间是报表设计区,右边是外部属性和内容设计面板。保留并突出了重要的功能按钮,简化了常用功能的实现步骤,比如图表的设置;同时也对一些相对次要或不常用的功能做了隐藏,比如预览方式。需要特别指出的是,V7.0版本吸纳了全局设计体验的理念,将参数设计面板和报表设计面板相统一,这样用户不仅能在全局上设计报表,提高报表的美观程度,还一定程度上加快报表的设计速度。

3、让目标功能更亲近和醒目

提高报表设计的速度,优化操作步骤(提高交互体验)是第一步,接下来就是要在软件操作的时候提高点击功能按钮的速度。根据Fitts定律,使用指点设备到达一个目标的时间与两个个因素有关:一是设备当前位置和目标位置的距离,距离越短,所用时间越短;二是目标的面积,面积越大,所用时间越短。所以FineReport V7.0版本中,对最常用到的“新建、保存、后退、前进、报表预览”的功能按钮进行了放大,这些大按钮更加方便用户的识别和点击。