多维分析常用操作 – 切片、切块

多维分析是针对数据集(称为 CUBE)做交互操作,基于一个或多个维度汇总指标,达到从不同维度或角度观察数据(测度)的目的,其计算本质实际上就是对一个数据集做分组汇总。

用 SQL 描述为:SELECT D,…, SUM(M), … FROM C GROUP BY D,…

其中,D(GROUP BY 的)就是多维分析中所说的维度(观察角度),M 是测度(观察的数据,可以求和、计数等),C 则为数据立方体(CUBE)。

这是个经典的数据立方体模型:

imagepng

维度有产品、年度、地区等,测度为销售额,当然还可以有其它维度和测度了。

切片、切块

了解了多维分析的概念和其计算本质后, 再理解切片、切块就相对简单一些了。那么,作为多维分析常用操作之一的切片、切块,其本质又是啥?又有啥意义呢?

首先说下什么是切片(块),是指指定了某些维度值后,来观察剩余维度的测度变化。

比如,分析“2012 年各地区各产品销售额”,切片维度为“年度”,维度值指定为单值“2012”后,观察各地区产品的销售情况,这就是切片,如下

imagepng

如果是“2011、2012 年各地区各产品销售额”,切片维度值为“2011”及“2012”多个了,则为切块。

imagepng

结合两图可以看出,“切块”时,选出的数据是一个三维子集,而“切片”是一个二维子集。

如果用 SQL 来描述,其实就是 WHERE 部分增加了维度值过滤条件,目的是用来选择维度中的固定值进行分析。

SELECT D,…, SUM(M), … FROM C WHERE D’=d’ AND … GROUP BY D,…

D’是切片(块)维度, 纬度值为单值时是切片、多值则为切块。

所以,切片(块)的计算本质就是对指定维度的数据过滤,其意义在于更细致的剖析数据,便于分析人员多侧面地观察、对比数据。

操作示例

接下来,看下如何进行切片、切块的操作。

安装润乾报表后,启动自带 demo 应用

1、 访问分析界面

url:http://localhost:6868/demo/raqsoft/guide/jsp/olap.jsp

imagepng

2、 选择数据集,并拖拽生成分析报表

这里采用预先准备的 Excel 数据文件。

imagepng

维度为:年度、城市、产品;测度为:订单额

3、 切片、切块

对于上面的分析报表,进一步做切片及切块的处理,如前面提到的,切片观察“2012 年度各城市各产品的销售额”,即固定(筛选)年度维度值为“2012”的数据,如下

imagepng

imagepng

切块是同样操作过程,如分析 2011、2012 各地区各产品销售额,年度值给定为“2011,2012”,多值时用逗号隔开即可。

imagepng