Chinaunix首页 | 论坛 | 博客
  • 博客访问: 97498
  • 博文数量: 56
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 340
  • 用 户 组: 普通用户
  • 注册时间: 2018-09-19 14:48
个人简介

下雨了,不想打伞

文章分类
文章存档

2019年(12)

2018年(44)

我的朋友

分类: 敏捷开发

2018-09-29 13:49:04

xx

前言

近来报表软件、商业智能、OLAP、数据分析等概念非常火热,作为关键基础环节的报表软件在市场上也是层出不穷,让人眼花缭乱,国内外的加起来细数一下,大概有二三十种之多。这些产品看起来实现的功能都差不多,那么,应当怎样选一款满足自己需求的报表软件? 在选型过程中不被厂商的宣传和演示牵着鼻子走?

在多年的报表经营过程中,我们发现许多用户在选择报表软件时会有许多认知误区,本篇将主要针对这些问题提供一些意见和建议供参考。

一个最常见的误区就是报表中间件和报表平台分不清楚,在演示过程中被平台类产品丰富的功能吸引,但其实需求却是要在项目中嵌入使用的报表工具。这一方面可能为多余的功能买单,另一方面还会带来难以集成的问题,多余的功能也如鸡肋一般,很难发挥作用。

要想避免这个问题,首先应该弄清楚需求(敲黑板,需求,需求,需求要明确)。是用于在业务系统中做报表,还是要上跨业务系统的报表管理平台?这两种需求看起来都是要做报表,但其实差别却巨大。

需求为前者时,我们要选中间件型报表工具。报表中间件的特点是报表和中间件,除了要有足够强大的功能将数据以报表和统计图的方式呈现外,还有个很重要的使命是 - 被 ~ 集 ~ 成 ~,快速被集成,为我们完善业务系统的报表模块提供便利。而当需求为后者的情况下,则需要关注报表平台型产品。报表平台是指提供报表、统计图及其他 BI 组件(仪表盘、数据看板等)的组织管理、权限控制等功能的软件系统,重点是功能全面的系统。

在报表行业,厂商提供的产品也大体分为这两类:以中间件形式提交的报表工具和以报表为中心的外围解决方案即报表平台。选择报表软件时,一定先要搞清备选产品是哪一类的,和需求目标不匹配的,做得再炫也不必考虑了。

报表工具

报表工具是细分领域“专而精”的产物,主要解决固定报表的制作。所谓固定报表,是指由技术人员预先定义好取数规则,运算逻辑的报表,后台会有一些较复杂的运算;业务人员只在 web 端查看或简单的增删改数据,不涉及报表结构的修改。固定报表是日常报表开发工作中最常用且工作量最大的报表形式。而对应的,另一种报表形式,自助报表,可由业务人员在 web 端自由拖拽指标字段生成不预先定义好表结构的报表,它能应对一些临时性的简单查询需求。这两种形式从目标用户到应用方式两者都有巨大不同,在选型时一定把固定报表和自助报表分开考虑。本节先针对固定报表提供一些考察点,自助报表的问题在后面的章节会介绍。

表格布局

目前国内主流报表工具采用的表格布局都是类 Excel 的单元格式,其好处是绘制简单方便。而有些早期产品以及国外产品仍采用控件拖拽式布局,就很不好用,绘制带有合并格的复杂格式报表非常繁琐。而且,采用类 Excel 式布局的产品一般都能导入以前用 Excel 画的表,也可以不失真地将报表导出成 Excel,这都是控件式布局产品很难实现的但却非常必要的功能。

复杂报表

报表工具的主要任务就是减少开发工作量,而复杂报表是工作量的重头。

对于报表样式简单,数据来源单一的简单报表,如图 1。几乎所有的报表工具都可以轻松实现(毕竟一个成熟的工具,要是连这样的简单报表都搞不定,也就没啥存在的意义了),没有区分度。但有些报表样式复杂,数据来源多样,统计口径不规则的复杂报表,就不是每家报表工具都容易做出来的了。如图 2,用国外或开源的报表工具就很难做出来,代码量相当大,完全起不到减轻开发工作量的目的。相比之下,采用了非线性报表模型的国产报表工具对付复杂报表的能力要强大得多,报表工具可能是少有的几个国产软件远胜国外软件的企业软件领域了。不过,不同产品在模型细节的支持程度并不一致,还需要针对项目中的复杂报表仔细验证,弄不好工作进程就可能被一两个特别麻烦的报表给卡住。重点的考察模型功能有:多源关联分片、行称是否对称、跨行组的同比环比以及排名计算、重叠分组等不规则分组方案、动态分组层次等。

171124-bb2

图 1

171124-bb3

图 2

多数据源

报表工具也应该与时俱进,支持多样性数据源,信息化应用越来越广泛了,ERP、CRM、OA、BPM 等系统各种上马,企业数据越来越大,报表也通常需要取到多个数据库多个数据表的数据,所以最直接也是效果最好的,就是报表工具直接支持多数据源关联,而不是先 ETL 做数据仓库等工作之后再取数。

集成性

方便易用的集成性是报表工具的重要指标,也是特别容易在选型时被忽略的指标。有些报表工具(特别是国外的产品)功能很强大,独立使用也是六六六,但在国内跟各个业务系统集成的整体氛围下就水土不服,因为缺失集成性。方便易用的集成性要求报表工具能对应用程序提供友好全面的接口,方便用户与各业务系统无缝对接。能够适应各种环境,能以类库方式完全集成到应用系统中。这样不仅可以提高报表获取数据时与应用系统数据交互的性能,还可以利用服务器的负载均衡等能力提升用户体验。

开放性

灵活的开放性才能适应用户更多特殊的需求,不管是集成商还是终端用户都可以通过丰富的 API 接口,全面地对报表应用进行各种操作,以需要的方式灵活地使用报表。满足用户各种个性化需求的自定义。

性能与容量

决定报表工具生死的往往是性能和容量指标。随着大数据时代的到来,选择报表工具时,性能指标越来越被用户所关注。网络,报表层等都可能成为性能瓶颈。而一款好的报表工具应该尽量绕开可以避免的瓶颈,如报表层就有很大的优化空间。对于报表内常用的多数据源对齐,排名等采用更高性能的 Hash 算法。报表提供缓存机制,包括模板缓存、结果缓存、分页缓存等多种方式,提升报表服务器性能。提供集群缓存同步机制,实现负载均衡的服务器之间跳转访问时的缓存自动同步。

移动端

现在,越来越多的用户想在移动端随时随地查看企业报表,第一时间掌握企业动态。他们往往是拿来主义,要求报表中间件厂商提供完整的移动端 APP 供他们直接使用。但其实这是一个误区,对于移动端 APP 往往是由系统集成商开发并在提供给用户时,适当的做一些客户定制化的功能。而报表只需要具备输出 HTML5 的能力,支持在移动端输出即可。作为中间件应用时,报表工具厂商直接提供的 APP 是没有意义的,没有必要去考察。

美观性

看似重要的美观性其实跟报表工具的直接关系不大。图表是用来直观的展示数据,方便管理者在纷杂的数据中快速判断出业务数据的分布、趋势、占比、同比、环比等变化规律,支持管理者决策。图表类型的数量及是否支持钻取、联动等功能也是评估报表工具的指标之一。美观性对于报表当然很重要,但由于有众多开源图形技术,这方面的比拼就已经不再是报表工具的重点了,报表工具厂商与其花时间精力去追赶,不如直接把好的东西为我所用,这就又回到了“专而精”的话题。所以与其用美观性衡量报表跟图表,不如衡量报表工具对第三方图表的集成性更实际。

价格

最后,但不是最不重要的是报表工具的价格。不过考察产品价格时要同时考察后续报表开发制作的成本,要对比实际拥有成本。比如开源的工具虽然没有购买成本,但实现复杂报表时,背后需要付出很大的工作量,在核算成本时往往是入不敷出,实际拥有成本更高。

报表平台

报表平台应该包括的基本功能包括:报表资源管理、用户管理、数据管理、权限管理、系统外观及报表样式管理、定时调度任务管理以及系统监控等;移动应用,流程填报,也是报表平台必不可少的功能;还有安全机制,运行报表平台时不安装插件、不改变用户的安全设置,这样才对用户是安全的。这些报表平台的常规功能基本每家厂商都具备,用户在考察这些内容时也很少有认知误区,一般不会踩雷,我们就不细说了。这里只介绍一些容易被忽略的功能点。

整合能力

不同企业,功能需求也是千差万别的,即使功能再全面的一款报表平台软件,也逃不开个性化行业定制以及跟现有系统的整合。对于报表平台的集成,主要考虑是否提供相关二次开发接口,可以修改系统风格样式以匹配现有业务系统,是否提供多种单点登录接口,可以使用现有业务系统的组织机构权限机制等。

可组装性

要求平台中的各个功能模块低耦合,可以像积木一样随意拆装。 这样“报表 + 的功能太多了,有很多我都不需要,或者我预算有限,买不起这么多功能怎么办?“的顾虑就可以很愉快的解决了。

后续开发方案

报表业务有天生的不稳定性,导致报表总是没完没了地要修改和新增,不可能一次性做完。那么问题来了:如果有新的报表需求或者原有报表的维护工作由谁负责?厂商?集成商?用户?这个一定要在选型时就考虑清楚这个问题,不然很容易被项目后期维护费用惊到或者出现报表平台不能真正用起来的情况。这里要强调一下,不要寄希望于自助报表(后面会讲到原因)。

交付方式

对于报表平台类产品,有两种交付方式,即产品交付和项目交付。而项目交付,定制解决方案,为平台类产品的主要交付方式。在当下大环境下,IT 实施团队的选型已经成为企业信息化建设成败的关键。但国内供应商不少是报表工具厂商扩大业务而形成的,产品本身还可以,但项目经验少,管理能力弱,所以需要考察的就不仅仅是报表软件的功能点,更多是的要考察做实施项目团队的技术能力,相关行业经验以及项目管理体系和质量。而国外的供应商实施能力就更弱了,可能是由于国外定制服务成本高导致的吧,在缺乏市场定制化解决方案的需求的前提下,缺乏集成性,难以适应国内需求。

自助报表

最后我们来谈一下自助报表。

自助报表也是近年内特别热门的需求,几乎所有的报表平台都提供有这个功能,各大厂商纷纷宣称可以让业务人员拖拽制表,不需要技术人员参与了。

但这里有个巨大的误区。目前市场上的自助报表(或交互式 BI)虽然可以在页面上轻松实现钻取、切片、旋转、分页、自定义指标、排序、各种基本计算(求和,求平均,最大最小值等),与此同时兼具页面友好美观,使用流畅等特点。但是,自助报表能够解决的业务人员需求其实相当少,例如自助报表完全解决不了过程性计算,而大多数报表都需要过程计算来准备数据,比如报表数据模型支持多源运算就是过程计算的一种。不支持关联查询的自助报表,一般只能解决 10% 的业务人员需求,即使有了关联查询也只能解决 20% 到 30%。所以不能对自助报表的期望过高。

关联查询是绝大多数自助报表产品都不支持的能力。所谓关联查询就是需要查询的数据不在数据库的一张物理表中,通过某个主外键关系关联才能获得需要的信息,例如:查询存储金额在 10 万以上的本地储户信息,就需要做多个表的关联运算。传统自助报表不支持关联查询,需要事先建立逻辑或物理宽表把表间关系做死,一旦关联需要发生变化时,只能重新建模,但这就要求有 IT 人员再次参与,业务人员的自助就失去意义了,而这个功能缺失又很可能被炫酷的界面掩盖而被忽略。能否支持关联查询是是考察自助报表功能的关键指标。

有些报表工具也提供自助报表的能力,也可以作为报表中间件的功能组件被集成,这时候就要考察其可集成的能力,即也能像报表中间件一样集成到其他应用系统中使用。如果有集成需求,则要重点考察这方面的能力。

阅读(851) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~