TIP
本文主要是介绍 数据分析-BI自助报表介绍 。
# 一、什么是自助报表?
自助报表是用户自己可以通过简单操作就可以完成报表制作的一项 BI 功能。在这里用户不需要有技术基础,只需要明确自己的业务需求就可以轻松绘制报表,从而生成一套属于自己的数据分析。
那么对于一款 BI 工具而言,自助报表应该包含哪些功能呢?
# 二、自助报表应该包含哪些功能?
自助报表的架构大体上可以分为两部分:
- 底层数据建模
- 前端交互分析
那么我们就分别从这两个大方面探讨下具体的功能。
# 2.1 数据建模
业务人员前端所有的操作都是基于数据模型实现的,所以数据建模是最基础、最核心的功能。一般来说,数据建模要具备以下功能:
- 支持多种数据源
支持 oracle、sqlserver、mysql 等常见 jdbc、odbc 数据库作为数据源;
也可以直接用 json、txt、excel 等文件作为数据集直接进行数据分析。
- 数据预处理
数据预处理主要指数据关联,根据业务需求关联相关物理表或者视图。通过主外键设置实现一对多、多对一、一对一关系。
- 灵活性
支持针对数据结构一次性建模,解决 CUBE 方式下模型频繁更改的难题,实现真正的灵活自助。
# 2.2 前端操作
- 支持多种汇总方式
支持求和、平均、最大值、最小值等一系列统计方式。
- 支持多种图表格式
支持列表、分组、交叉表格;
支持图表类型包括:柱图、线图、饼图、地图等。
- 3)支持指标 (公式) 计算
支持公式计算得到其他指标字段;
支持计算同比、环比、排名等计算指标。
- 数据过滤
支持页面数据二次过滤,提供人性化条件输入入口;
支持下拉树、下拉列表、下拉日历、文本框等编辑风格。
- 权限控制
数据分析时实现对数据、表、字段的权限控制。
# 【----------------------------】
# 一:什么是自助报表?
报表是 BI 项目中呈现数据最直观的方式,目前使用报表常用的方式是由技术人员根据用户需求提前定义设计好报表模板,用户使用时在页面端基于已有的模板对数据进行查询、打印、导出等操作。这种方式能够很好地满足相对固定的报表需求,而随着业务的深入以及业务人员能力的提升,越来越多的人希望自己能够通过一些简单的拖拽操作来快速查看到自己关心的数据,进而逐步确定最终的报表格式。我们把这种报表使用方式称为自助报表,也就是让不太懂技术的业务人员通过拖拽、简单设置等“自助”操作来分析数据并形成报表。
# 自助报表特点
1、 快速:比如月底人事部门要根据一些灵活的规则快速统计公司内人员的出勤情况,加班情况。
2、 人性化:业务报表的显示内容经常需要变化,灵活适应多变的业务需求
3、 简单:因为业务人员不懂技术,所以操作方式必须足够简单
# 二:自助报表的功能及架构
自助报表并不是最新提出的概念,实际上功能和很早就有了的传统多维分析(OLAP)类似。从架构上来说自助报表大体上可以分为两部分:
(一):前端交互页面
(二):底层数据建模
# 2.1 前端交互页面
由于要为业务人员提供自助开发报表的功能,因此前端应基于 web 方式,以便用户无须安装其他软件,在浏览器端就能够实现维度拖拽、旋转、切片、切块、下钻、自定义指标等操作,也就是说要求在 Web 页面端通过一些简单的拖拽或设置就能完成报表的全部定制过程。这部分功能目前大多数常见的报表工具产品基本都能满足,而且涉及的概念也都差不多,这里就不一一介绍了。
# 2.2 底层数据建模
用户之所以能够在页面端拖拽形成自助报表,离不开底层数据建模的支持。例如,要分析的数据在数据库中分散存储在多张数据表中,表间通过相应的字段关联,而业务人员在前端页面拖拽时一般是不完全知道底层数据的关联关系的,这样就要求底层将相应的关联设置好,才能支持用户任意拖拽数据。又如数据库中的表名和字段名通常是英文方式,普通用户往往不能准确理解其中的含义,所以就需要在用户分析数据前将英文的表名、字段名转换成易于理解的中文,这同样要求在底层数据建模操作的支持。
不同产品的建模方式不太一样,不过大体上都是将数据抽取到一个数据矩阵里,然后做自助分析时基于矩阵进行操作,这样不但能够提高数据分析的速度,而且能够很好地支持对表名、字段名进行字典项的设置。
# 三:传统 olap 分析的一些缺点
传统 olap 工具中为了满足用户的拖拽需要,大多数在底层建模时就将数据抽取形成一个矩阵(cube),这样有个好处,由于提前对数据进行了加工处理,所以能够提高用户分析数据的速度。
但这种方式的问题在于,矩阵中的数据是相对固定的,通常里边存储的是历史数据,因此这样做一些实时数据分析时就不太方便,必须通过 etl 工具定时进行增量更新。而且,由于用户业务常常会发生变化,这时就需要更改底层建模,重新抽取数据形成新的矩阵,因此变动会比较大。如果原始数据较大,这个抽取的过程也是比较耗时的。
同时,随着现在大数据的兴起,各种 nosql 非关系型数据库的使用也日益增多,对于一些 olap 工具来说,建模时的工作也会更加困难。
# 四:如何选择一个合适的自助报表工具
根据目前上市场上常见的产品类型可以按照开源程度分为三种:
(1):商用软件
优点:成型系统、功能强大、样式美观……
缺点:价格高、系统相对封闭,很难对其进行修改(如要根据用户的需求更改一些布局、样式、操作习惯等)
(2):开源软件
优点:免费,项目成本低、接口丰富
缺点:基本没有服务,有问题很难解决、需要大量的二次开发工作
(3):半开源软件
优点:性价比高、项目成本低、接口丰富能灵活修改、及时的支持服务
缺点:要想完全符合自己的业务需要,也需要相应的接口开发
那么,如何选择一个符合自己项目的工具呢?建议可以从以下几点进行考虑:
一:是否满足用户的核心需求(拖拽、切片、钻取……)
二:是否提供丰富的接口供二次开发
三:是否便于和其他系统集成(页面调用、风格、布局)
四:是否能灵活实现各种权限控制(数据权限)
五:是否能应对各种类型数据来源(特殊数据源、大数据量)
六:满足需求同时是否具有更高的性价比。
七:是否能够灵活修改底层数据建模
一般的商用的自助BI平台自助报表功能,主要具有以下几个特点:
1、 可以实现页面端的维度拖拽、旋转、切片、切块、下钻、自定义指标等操作。
2、 针对数据结构一次性建模,解决 CUBE 方式下模型频繁更改的难题,实现真正的灵活自助
3、 除了数据库中的数据,可以针对 Excel、TXT 等文件直接查询分析,无需数据入库,随查随用,简单方便
4、 支持海量数据的高效查询,提供异步查询机制,百万级数据查询秒级响应
5、 提供易集成的接口方式,方便与现有应用易集成。比如数据分析页面可以直接调用一个 url 链接,链接上传入需要的参数就行。
6、 能够为用户分析时提供灵活的数据权限控制
7、 对于简单的自助报表,甚至无需数据建模,给个 sql 语句就能进行分析操作。
8、 能够满足非关系型数据库的数据分析需求。
9、 能够实现跨库的数据分析操作,例如同时分析来自 oracle、sqlserver 等数据库的数据。
10、 极高的性价比,产品价格透明、亲民。
11、 优秀的技术支持团队。
# 参考文章
- https://zhuanlan.zhihu.com/p/97687699
- http://c.raqsoft.com.cn/article/1568095434513