报表工具琳琅满目,每款也很有特点,但选型是个难题,本文就一些较活跃的报表 BI 产品进行点评,方便对于不太熟悉这些产品和技术的同学选型参考。因为篇幅有限,不能把市场上所有产品都选入,这并不意味着其它产品不好。
一、润乾报表
润乾报表功能全面,涵盖报表、填报、BI 的各个方面,没有大块功能的缺失。 不过这也是国内大多数报表 BI 产品共同的特点。
润乾报表最大特色是复杂报表的能力,润乾公司最早提出了用于解决中国复杂报表的非线性报表模型,直到现在,无论是功能还是性能,润乾报表在复杂报表方面仍然是业界最强者。
润乾报表自 2018 版开始集成了独立计算引擎。大多数报表工具是在报表中完成数据计算,而报表的计算能力和效率都相对较弱,不仅会因为要写复杂的 SQL 或存储过程导致开发困难,而且在数据量大或计算较复杂时还会带来性能和容量的问题,发生报表响应迟钝甚至内存溢出的现象。润乾报表则可以将取数及复杂关联运算等放到独立的计算引擎中,并提供了大数据量游标取数,这样即提高了开发效率,还能提高运算性能和数据容量,并真正支持了大数据报表。
润乾报表本来内核模型的计算能力就很强,性能也是多年来的优势,新版中又增加了计算引擎,在这方面又有了质的提升。
在计算引擎的支持下,还能让报表与应用的耦合性降低。复杂报表的修改常常涉及数据源逻辑,而有计算引擎时,这部分也可以在报表模板中完成,不需要像常规情况时必须修改应用程序中准备数据源的代码或者后台存储过程,从而可以做到全面的热切换。这是其它报表工具都无法提供的能力。
计算引擎中还集成了大量常见非关系数据源的接口,如 mongodb,hdfs,sap,…;这使得润乾报表天然能支持非常丰富的数据源类型。
润乾报表的 BI 界面,拖拽、切片、钻取等都有提供,在提交方式上有与众不同之处,润乾报表的 BI 界面部分是开源的,这样不管是集成调用还是客户化的定制开发都会比较方便。因为润乾报表的理念定位是被集成,润乾把用于交互操作的 BI 组件都做成可以集成到第三方应用的页面的样子,而如果界面风格和操作方式需要再修改时,还进一步提供源代码。业界其它厂商则一般是提供可独立运行的 BI 系统,整体界面都是自己一套风格,基本没可能集成到其它应用的页面中,有修改也大都需要厂商介入。润乾报表中心可以独立应用,虽然功能细致程度一般,但它是开源的,用户可以进一步再开发。从这个意义上讲,润乾报表的 BI 挺适合用于 BI 教学,朴素风格和开源代码都有利于程序员进一步美化和封装。
说到 BI,润乾报表后台有个独特的 DQL 模型。多维分析时多表关联一直是个麻烦事,业务用户很难理解 JOIN,所以常常要技术人员事先建模,把 JOIN 拼进逻辑或物理宽表中;也有 BI 产品将 JOIN 关系暴露给业务用户,但业务用户只能理解最简单的情况,稍复杂的关联需求基本就没人会用了。DQL 模型则可以让业务用户以可理解的方式在界面上拼出非常复杂的关联分析,包括自关联都可以处理得很好。
性价比最高。一万壹套的授权也是企业级版本。还有三万随便用的模式。
二、帆软报表
帆软报表也是功能非常全的产品,目前开发中遇到的各种关于数据展现方面的需求, 像复杂报表、填报、大屏、BI 等都有解决方案。帆软报表一个特大的优势是对开发人员很友好,设计界面更加时尚,初学者上手容易,操作方便。除了报表工具,帆软还提供了完善的平台管理功能,甚至包括流程填报、审批等功能。这样实际上可以作为一个系统使用,对于没有自己平台的用户来说是个不错的选择。不过反过来如果客户要用自己的平台,那么集成起来工作量就会比较麻烦。帆软提供的接口相对来说少些,这会导致定制化工作还需要进一步依赖于厂家。
和润乾相比,性能大概算是帆软的一个短板。尤其是涉及数据量大、有较多公式计算单元格的报表,计算性能会较差;常见的多数据集关联报表,帆软也采用在报表中计算的传统方式,数据量大时性能就会很差(不过这是所有报表计算的通病,只有润乾这种用表外计算引擎才能解决)。
帆软报表提供了单独的 BI 工具 FineBI,功能也是全面完整,包括用平台管理、ETL、数据整合、数据分析等。前台操作简单流畅、美观细致程度都相当不错,能快速实现常见的多维分析操作。不过,BI 核心功能各个厂商相差不大,也不必再细说。
有些 BI 产品会自己做一个后台 CUBE,早期国外 BI 产品常常都这样。好处在于可以获得优于传统关系数据库的性能(数据库常常是行存,不适合高速 OLAP 运算),但缺点是需要事先根据分析主题建模准备数据,难以在界面上再做更多复杂的关联运算,灵活性受限(CUBE 的运算能力通常远远弱于关系数据库)。FineBI 也提供了这种 CUBE,所以上述的好处和坏处都兼而有之。
FineBI 也可以直接针对数据库进行分析,上述的好处和坏处就可以反着看了。不过,即使数据库可以进行复杂的关联运算,但如何让业务人员描述关联关系一直是个老大难问题,FineBI 在这方面和业界大多数 BI 产品并没太大区别,也需要业务人员去理解 JOIN。在关系较复杂时(比如有七八个表且有一表同维关联或自关联时),业务人员就不大可能拖拽出合理的关联查询了,结果还是需要技术人员先做 CUBE,灵活性就大打折扣了。
价格也是很高的,一般会在十万元左右,加上 BI 大约会卖到在 三十万元以上。
三、 Smartbi
Smartbi 的功能也非常完善,报表、填报、BI 一应俱全。这也是国内产品的标配能力。
不同的是,Smartbi 的报表设计采用真“Excel”架构,也就是 Excel 插件方式开发报表,比类 Excel 设计器学习成本更低,常用操作方式、函数使用等完全是 Excel 中的用法。设计统计图时能够做到真正的所见即所得。不过因为用了 Excel,报表设计器通常只能在 windows 上运行,另外对服务器资源要求也较高,官方推荐的 JVM 至少要 16G 内存。
Smartbi 其实并不以报表能力擅长,对于特别复杂的报表格式处理能力不如前面两家产品,比如一些跨行组间的运算。采用 Excel 插件方式会使功能会受限于 Excel。
更重要的问题是在性能方面,这还是可能和 Excel 相关。当报表格数较多、且带有动态样式控制时,比如动态背景色、前景色,报表的渲染速度会急剧下降,甚至出现无法响应的情况。而前两家报表工具基本没有这种事(帆软的性能问题出在运算而不是渲染上,润乾则都没有。渲染慢是报表工具本身耗时大,优化数据源无济于事)。
Smartbi 的长项是 BI 功能,它提供了自助分析平台,可视化的操作建立数据关联模型,并且提供 ETL 工具加工数据成独立的数据模型,提供了全方位的数据分析功能。
Smartbi 支持的数据库类型主要是有 JDBC 接口的数据库,NoSQL 数据库目前只支持 mongodb 和 Tinysoft 等少数几种,再特殊的就需要写 java 程序进行处理了,工作量有点大。
Smartbi 的接口开放及可配置程度一般,在做一些深层次客户化定制时会有些困难,许多完善动作还需要厂家配合。
价格太高,必须要有很强的耐心和毅力去砍价。
四、Jasper
Jasper 和 BIRT 差不多,都是使用控件式编辑,所以操作起来非常不习惯,易用性一般、复杂报表不支持,报表设计方面比国产报表工具功能上都差很多。
和 BIRT 一样,Jasper 也是开源产品,它提供了图形化的报表设计工具 IReport,界面比 BIRT 友好些,接口丰富,但是中文文档较少,汉化不好。
主要实现的是简单报表功能,WEB 端的数据分析貌似有,但网上讨论很少,就当没有吧。作为国外产品,也不支持数据录入功能。
相比较 BIRT 而言,Jasper 功能会多些,比如支持批量打印、支持套打、支持子表,性能上也是 Jasper 较好。Jasper 报表模板定义可以完全通过 api 来定义,这个比较灵活,如果开发能力较强,倒是可以实现比较简单的页面端的维度分析,根据用户选择 api 动态生成报表,但是工作量会很大。
五、QlikView
QlikView 是比较典型的敏捷 BI 工具,提供了 ETL 工具,可以对需要分析的数据提前做数据清洗操作。
QlikView 上手比较容易,提供直观的交互式用户界面,内置丰富的图形类型和模板。侧重数据分析,建模简单、项目搭建快、周期短。
QlikView 应该是首家内存式 BI,数据分析时可将数据全部加载到内存中,操作响应及时、速度快。支持离线分析功能,一旦数据刷新完成,用户就可以随时随地的进行离线数据分析。
通过 ODBC 连接数据库,支持 sqlsever、oracle、mysql 等主流数据库,支持 Excel 文件,对一些特殊数据源支持不友好(如多维数据库、nosql 等数据库),可能需要后续产品改进。
数据加载到内存中,当数据量大时对内存耗用比较大,带来较大的硬件成本,内存不够时,性能影响会非常大,而且目前只能部署在 windows 上,在非 windows 项目中需要额外服务器,和其他业务系统集成不太方便,只能通过 url 嵌入方式集成,提供接口很少,很难做客户化的定制开发。
作为国外工具,无法处理国内复杂报表需求,无法处理数据录入需求。
总结:复杂报表有一定的技术含量,这方面也确实还能构成一定的门槛和差异。润乾一直保持最强,增加了计算引擎后又进一步拉开了和其它产品的差距;帆软报表复制了润乾报表中除计算引擎外的大部分复杂报表功能,也可以;其它几家就差一些了。
在提交形式方面,报表风格的产品都有较好的可集成性,相对容易能够嵌入到其它应用中,润乾报表、帆软报表以及Jasper 都可以,开源产品以源码形式提交当然集成性最好;润乾报表和帆软报表都提供 jar 包,也很不错,算是无缝集成;润乾甚至连 BI 组件都能被集成到应用程序页面中。所以润乾更胜一筹。
除了技术问题外,价格也是选型的关键。开源产品当然理论上价格为 0,但对国内应用的适应性也最差,多花的人工成本会远远超过购买商用产品的费用,除了一些非常简单的需求外,对于绝大多数国内项目来讲,采用开源报表反而是最不划算的。商用报表,润乾是首先。无须砍价,没有心理落差。真正的做到了对客户一视同仁。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。