全方位对比:SmartQuery VS FineReport来自报表工程师的经验

写在前面

相比起BI这些当红炸子鸡概念,报表工具大家可能不太熟悉,希望这篇文章能够给大家提供一些新的看法和参考。
我资历不算深,但工作中经常用到报表开发工具,所以在工具使用上有一些个人的经验之谈。本文依然是站在巨人的肩膀上,蒐集了网上许多有用的资料。

本次对比的主角:Smart Query & FineReport

虽然大家都知道「王婆卖瓜,自卖自夸」,但是官方其实是非常主要的资讯来源,没有人会比自己更了解自己。所以我们要理性看待这些资讯,对於这类内容我的经验就是看客观的部分(e.g. 具体功能、技术架构),忽略主观部分(超强,超赞这种形容词)。关键信息都用粗体写好了~
Smart Query
是一套功能强大的Web及Mobile查询报表软件,运用最新HTML5+JavaScript技术开发,使用者可以在不同的装置、作业系统及浏览器上执行。企业可快速设计财务、销售、生产等各类报表,并能整合不同资料来源,透过Drilldown连结功能,实现企业各部门的查询及报表呈现。Smart Query应用范围从报表开发扩展到企业资讯服务整合平台,可满足一般使用者日常查询,也支援自主多维度分析功能。
FineReport
是一款纯Java的web报表软件,类似於excel的报表设计器让很多使用者印象深刻,简单的拖拽操作就可以轻松实现报表的多样展示、互动分析、资料填报、权限管理、定时调度、列印输出、门户管理行动应用等需求。配合自主研发的 50 余种图表样式提供酷炫的资料视觉化效果,几乎可以迎接任何报表挑战。
通过类 Excel 的设计器一键连接资料源拖拽栏位绑定储存格,一张实时报表就可以制作完成,支援一键远端发布到服务器。既可以独立部署,也可以与其他系统无缝整合。同时无须二次开发,PC 端制作报表就可以发布到行动端,极大提高开发效率,易学易用易实施。

按维度进行对比结果

1. 使用者介面风格

Smart Query 直接采用Excel来完成报表设计,添加了一些辅助功能以提高便利性,最大优点学习成本基本为零,就像是在设计Excel文件一样。
https://ithelp.ithome.com.tw/upload/images/20201030/20106765GWSOdRZ3BD.png
FineReport的介面风格是类似於Excel的,也是格线对齐的编辑方式。与Excel略有不同,这一点是为了储存格内属性更加自由。所以,我觉得类Excel介面的意思就是看起来像Excel,但在实际操作中设计逻辑和Excel是不一样的。这种介面学起来不难,但是初次用还是需要时间熟悉。不过对於复杂的报表,这种设计介面可能更能胜任吧。
FineReport类Excel介面

2. 支援的资料源

Smart Query支援SQL Server、Oracle、Informix、Sybase、DB2等主流的jdbc驱动的资料库,支援Dbase、Access、Lotus Notes、AS400等主流的ODBC驱动的资料库,支援SAP ERP、SAP HANA等多维数据源。同时也支援内建资料集,可惜,暂时不支援调用java的api程序资料集

FineReport连结数据源的方式也多种多样,支援JDBC,JNDI数据源,如Oracle, DB2, SQLServer, MySQL等主流的资料库,自订的程序数据源,文字数据源,Hibernate数据源,Remedy等等,同时数据源具有无限的扩展性,可以支援WebService,SOA等标准的数据。

共同点,两种软件都可以实现「殊途同归」——不同资料来源的资讯在报表中可直接相互运算呈现在同一张报表上。

3. 应用环境

应用环境上,Smart Query之前後台仅支援windows系统,2020版更新之後终可以在Mac、Linux上安装执行了。
FineReport设计器同时支援Windows和Mac系统,web工程可以支援包括windows、Linux、Unix等在内的所有兼容java web应用的平台。

4. 服务器部署和集成

在服务器部署&集成上,Smart Query支援将产品部署到客户自己的应用中,也支援内建服务器部署和嵌入式部署,同时支援.NET的应用集成。其也支援页面的集成,但不够灵活。Smart Query不支援Java Application集成和IDE集成。FineReport支援将报表集成到客户自己的应用中,支援屏蔽掉服务器的埠,实现IIS与tomcat的无缝集成,即去tomcat埠集成,同时也支援和CAS服务器进行无缝单点登入和单点登出集成。

5. 资料采集填报与展现功能

资料采集填报与展现可以说是报表最核心的功能,也是企业为什麽需要报表工具的重要原因之一。什麽是资料采集填报呢?
比如,工厂中巡检人员前往工厂巡检,然後将设备资讯通过行动端进行填报,实时纪录设备资料,这些资料最後会进入企业的资料库中。如果不用报表工具实现,那就需要用Excel或者google表单来做,但是这样校验和统计的时候会比较麻烦。
Smart Query的表单填报功能需要另外购买同公司产品Smart eBuilder。
FineReport填报功能我个人是比较看好的,行动端可以扫描QRCode实现回填,还能够结合排程管理处理资料。

6. 报表汇出

Smart Query可以输出多种档案格式,含:Excel、PDF、Word、HTML、XML、TXT等,其中Excel、PDF、Word档案可做加密效果。在PDF还可依群组自动建立书签方便浏览,在Excel输出也可依群组分页,可再搭配排程模组将多个查询的报表,依收件者合并产出Excel附件,一份Excel整合多个查询报表。汇入列印权限可进行控制。

FineReport支援单个或者批量汇入Excel档,这样可以由业务人员,事先画好表样,提高制作报表的效率,并且,批量汇入,更加的减轻重复的工作。生成的报表档案可汇出为HTML、不失真的PDF、Excel、Word、CSV、SVG和文本档案等多种样式。在前端浏览器页面,支援PD、EXCEL、IMAGE、WORD格式输出,并能由使用者选择汇出文件是否设定加密。另外,FineReport还可将资料集打包进模板档案,生成内建的模板档案。在列印上,FineReport支援PDF列印、applet列印、flash列印技术,且支援使用者在浏览器端直接列印,支援列印偏移和套打。

7. 资料视觉化与图表展现

图表类型

资料视觉化是数据呈现的重要环节。在图表呈现方面,Smart Query主要延用Excel的图表类型,简单图表基本都覆盖了。支援3D检视,但交互效果有限:支援动画,在执行时可看到统计图成长的效果,也支援提示文字和趋势线。

FineReport有内建视觉化图表,覆盖了常用图表。此外,提供适合程序人员的API扩充及条件属性设定。对於不在内建图形列表中的个性需求,FineReport提供了介面让使用者可以对接第三方图表库。同时,FineReport采用的是自主开发的HTML5图表,交互效果更丰富,包括数据点提示以及系列隐藏、坐标提升、图表缩放、系列拖拽以及定时刷新等高级功能。

地图

Smart Query的地图资源需单独购买,不支援自定义GIS地图背景,若要做其他地图需准备 SVG格式及单层的图档即可作汇入。

FineReport软件内建了世界地图的SVG文件,可以做实时地图、本地地图和3D地图。使用者也可以自主导入SVG文件做自定义地图,灵活度相比起来要高一些。

Dashboard呈现

Smart Query通过拖拽元件进行设计,操作简便,可设计任意风格,设定控制项可直接预览效果。

FineReport的元件复用功能,元件设计完成後可实现多模板复用,也可下载其他使用者开发好的元件使用,适合开发个性化、主题场景的Dashboard

8. API 可扩展性

FineReport 开放了很多API 介面供应用开发人员进行深入的开发与控制,这点很优。透过调用API,使用者在产品原有基础上可以增加或修改功能,来满足自己对产品的一些需求。
比如可以整合三方工具或自己的平台,也能够自己开发程序做成自己的功能

9. 学习难度&技术支援

Smart Query在YouTube有很多线上教学视频,线上教学手册则需要申请试用後才可以看。线下有开设Smart平台入门班和进阶班课程训练,但需收费,大概要2000~3000元。
FineReport开放线上论坛,有线上开放的说明文档和线上教学影片。线下会办城市课堂,每个月Facebook和官网会放免费票,我参加过一次台北的,感觉不错。
两者都是对企业使用者有技术支援。
如果你只是想要用一个工具学习或者实战练细,对个体使用者的友好度
FineReport可以直接下载个人版免费使用,个人使用需求能够满足。
Smart Query目前还是需要申请评估版去体验。

那就先写到这,希望能够对大家有帮助~

资料及图片来源

  1. 两个软件的官网
  2. 史上最全报表工具大汇总!(9款开源+7款商用)

<<:  Excel VBA 第一篇 -- 基础介面介绍

>>:  [JS] You Don't Know JavaScript [this & Object Prototypes] - Object [上]

[实作教学]使用Line Notify收到Dcard最新文章通知

透过官方帐号进行推播会因为人数越来越多而增加发送成本,因此 Line Notify是一个官方提供帐号...

DAY 30 第三十章 汇整

以下是将各项风险汇整,IoT应用之前,可以先考虑各层面的风险之後,评估自身条件,是否能透过其他辅助机...

[DAY3] MVC与散落各处的逻辑

上回说到 Fat Model 的逻辑散落在各处,那这回就要来说说散落在哪、以及造成这种现象的原因。 ...

Day30-台湾菜鸟工程师除错之卷五

不过当我这样想的时候 有时候事情真的不会按照你所想的去发展 过了几天之後 营业就直接通知我 恭喜!...

[机派X] Day 10 - 寒酸的无人机介绍

引言 今天是机派X系列文章的第十天。 昨天介绍了关於 Bash 的几个实用案例,也是 Linux 系...