自助报表大多是面向没有技术开发能力且想要自己在 web 端拖拽做表的业务人员。
自助报表具有以下几个特点:
1、 快速:比如月底人事部门要根据一些灵活的规则快速统计公司内人员的出勤情况,加班情况。
2、 人性化:业务报表的显示内容经常需要变化,灵活适应多变的业务需求
3、 简单:因为业务人员不懂技术,所以操作方式必须足够简单
如何建自助报表
(一):前端交互页面
前端应基于 web 方式,以便用户无须安装其他软件,在浏览器端就能够实现维度拖拽、旋转、切片、切块、下钻、自定义指标等操作
(二):底层数据建模
用户之所以能够在页面端拖拽形成自助报表,离不开底层数据建模的支持。例如,要分析的数据在数据库中分散存储在多张数据表中,表间通过相应的字段关联,而业务人员在前端页面拖拽时一般是不完全知道底层数据的关联关系的,这样就要求底层将相应的关联设置好,才能支持用户任意拖拽数据。又如数据库中的表名和字段名通常是英文方式,普通用户往往不能准确理解其中的含义,所以就需要在用户分析数据前将英文的表名、字段名转换成易于理解的中文,这同样要求在底层数据建模操作的支持。
不同产品的建模方式不太一样,不过大体上都是将数据抽取到一个数据矩阵里,然后做自助分析时基于矩阵进行操作,这样不但能够提高数据分析的速度,而且能够很好地支持对表名、字段名进行字典项的设置。
传统 olap 分析的一些缺点
传统 olap 工具中为了满足用户的拖拽需要,大多数在底层建模时就将数据抽取形成一个矩阵(cube),这样有个好处,由于提前对数据进行了加工处理,所以能够提高用户分析数据的速度。
但这种方式的问题在于,矩阵中的数据是相对固定的,通常里边存储的是历史数据,因此这样做一些实时数据分析时就不太方便,必须通过 etl 工具定时进行增量更新。而且,由于用户业务常常会发生变化,这时就需要更改底层建模,重新抽取数据形成新的矩阵,因此变动会比较大。如果原始数据较大,这个抽取的过程也是比较耗时的。
同时,随着现在大数据的兴起,各种 nosql 非关系型数据库的使用也日益增多,对于一些 olap 工具来说,建模时的工作也会更加困难。