首先模拟一个数据分析场景,某企业积累了如下表格所示的销售数据:
表格中每一行表示某个时间段内某种商品在某个地区的销售情况。很明显,这些数据涉及到了时间、地区、产品三个业务角度。
在对这样的数据进行分析时,不同的角色都会基于自己所感兴趣的业务角度提出问题。
- 销售经理关心各个地区的销售情况,希望找出销售增长率在平均水平之下的地区
- 产品总监则希望了解近期内各种产品的销量对比,以作为后期产品研发方向的参考
- CEO想要知道近六个月内整体销售环比信息,用以评估是否达到公司运营目标
对于表格中的数据,可以将其转换为另一种数据格式 - "三维空间立方体",如下图所示:
相对于表格,以三维立方体形式呈现的数据结构更加直观。
在这个数据立方体中,每一个坐标轴都代表一个业务角度(时间、地区、产品),坐标轴上的坐标值则表示了某个业务角度的一个确定的值(如:北京市、3月份、手机),不同坐标轴坐标值的交叉点则表示一个具体的销售额。
实际上,此数据立方体中表示业务角度的坐标轴就是维度,类似于三维立方体的数据结构则被称为多维数据结构(也称数据立方体)。
再次回顾前文中销售经理、产品总监、CEO各自提出的问题,不难发现他们各自所关注的维度分别为:地区、产品、时间。
目前我们所模拟的这个数据分析场景较为特殊,因为只有三个维度,所以可以直观的将数据想象成一个三维立方体。
虽然无法在三维空间中呈现更多维度的数据结构,但是面对更多维度时进行数据分析的思路却完全不变,不同的角色只需要从自身所关注的维度出发并提出问题即可,他们即不需要了解十几甚至几十维的数据如何存储,也无需考虑多维数据查询的具体实现方式。
核心概念简介
在多维数据分析领域中,有几个非常重要的核心概念:
- 数据立方体(Cube)
- 维度(Dimension)
- 成员(Member),又称维度成员(Dimension Member)
- 度量(Measure)
- 级别(Level)
维度就是描述数据的业务角度。在不同的数据分析场景中,会存在若干个不同的维度。
四维空间比三维空间多出一个坐标轴,这里我们称这个新的坐标轴为“第四坐标轴”,现在如果需要确定一个点,除了长、宽、高三个轴上的坐标值外,还需要第四坐标轴上的一个坐标值
N(N可以是大于零的任意整数)维空间中具有N个坐标轴,需要N个不同坐标轴上的坐标值才能确定一个点