李欣烊
上汽通用五菱汽车股份有限公司 广西 柳州 545000
现阶段实现报表的方式可分为:直接通过网页、通过第三方控件;而第二种方式更为流行,其包括ReportViewer、OpenReports、类Excel报表软件等,我们今天将要介绍的就是类Excel报表软件中的FineReport,其极大的产品优势成为众多企业数据展示的首选工具。
不可否认的是目前人们最开始接触、也是最多接触的报表就是Excel,所以FineReport给用户提供了更为熟悉的开发场景,而且FineReport有着免费的学习文档视频和论坛,一般用户都能够很快地了解设计器的使用方法[1]。
图1 社区首页
如Excel一样,FineReport 有通过绑定功能,哪怕是简单的拖拽也能符合用户的开发需求,不需要复杂的代码编写基础,这也极大地降低了开发者的学习成本,同时也提升了开发效率。
多元化的设计方式使得开发者可针对不同需求的用户开发不同类型的报表,如制造部门和物流部门,两个不同的业务需求虽然在同一个设计器下进行开发,但是可以实现不同功能的开发模板,能够充分的满足需求。
目前企业不仅要求报表的精准度,更新速度,美观度也成为主要优势,这也是为了更好地进行数据展示,进而更加简单的理解和分析数据结构,FineReport不仅包含了常见的柱形图、扇形图、折线图等,其支持动态显示和超级链接等功能,更加全方位、多维度的展示数据,满足用户的需求[2]。
目前许多企业对系统数据的展示是通过将系统中的数据导出为Excel,进而将Excel中的数据提取筛选,通过透视表或者其他平台录入数据完成可视化报表的制作,这也不得不使得数据的呈现多了导出和筛选的操作,也大大降低了数据展示的效率,增加了人工成本。
FineReport 是由Java编写的,具有多维数据分析平台,能够采集前段、后端和历史产生的所有数据。数据集来源可以多样化,能够支持Mysql、SQL Sever 、Access等多种常用数据库,本次就以Mysql为例进行验证。对于企业系统来讲,一般所产生的数据量较大,种类较多,所以需要数据库服务器来完成数据的存放。FineReport可通过配置工作目录进行远程服务器的链接,完成数据源的提取[3],如图2所示。
图2 远程服务器配置
点击“测试连接”若显示“连接成功”,说明在此工作目录下已经连接了服务器,并能够获取此服务器下的数据源。
还有一点需要提及的是,由于企业中的系统较多,如果创建多个工作目录连接多个远程服务器,后续对于目录的切换是较为烦琐的,所以在此之前还需要操作的就是将各企业系统中的服务器数据抽取到数据中台(Mysql数据库),在这里可以将数据进行第一步的加工处理过滤,只抽取我们需要的字段,这样既可以统筹管理数据,不影响原服务器的数据,也可以只将FineReport 连接数据中台,减少切换的烦琐。
连接完数据库服务器,接下来就要新建报表模板,这里与我们熟悉的Excel相似,所以应用起来较为容易。建完表后需要添加我们所需数据的数据源,在这里需要通过SQL语句对服务器中的数据进行二次过滤,只筛选本报表下所需的数据;
这样我们在模板数据集中就可以看到名为“ds1”的数据集,点开数据集就可以获得我们所需要的字段数据,对于数据可视化来讲,“决策报表”具有更强的灵活性,就像一张画布一样,我们可以尽情地设计想要的模板[4]。决策报表如图3所示:
图3 设计工具展示
工具栏中的“参数”“空白块”“图表”和“控件”给我们提供了更为便捷的模板设计条件,而且只需要进行“托拉拽”的鼠标操作即可完成图片、控件的添加,将我们需要展示的图表拖拽到画布内,图表的数据来源就是我们左侧所提取的数据集,依照分类、系列名等维度将数据展示在图表当中,预览图表后会发现自动跳转到Web页面进行报表可视化的展示,那么接下来将要做的就是将各类图表进行排版,强化美观度,对数据、图表微调以达到理想的展示效果,如图4所示展示状态:
图4 状态展示
数据的准确性是数据展示的根本要求,也是对数据正确分析和决策的必要条件,因此在做完展示报表的情况下,下一步就是要对展示出来的数据进行验证,我们可将企业系统服务器中的数据导出,比如我们在门禁系统中导出本日访客数量,然后与我们所制作的报表进行对比,检查报表开发逻辑是否正确[5]。
不难发现,其实我们的时间主要用于模板设计器的开发,一旦开发完成用户所需求的模板,便可用此模板自动将数据进行可视化,数据是自动提取的状态,这也降低了报表维护的时间成本。其次,我们的数据源直接来源于服务器,当我们对数据筛选逻辑无误的情况下,一定程度上降低了由于人为失误导致的报表数据展示错误,增加了准确性。最后,多样化、丰富的展示模型成为赏心悦目的亮点,动态的图表显示更为生动地体现了目前数据的状态,在数据汇报、查询、展示的层面上可谓卓越有效。