大数据分析之多维数据分析入门

邦格科技

发布时间: 18-06-1311:30

阅读本文不需要技术背景。

总体介绍

首先模拟一个数据分析场景,某企业积累了如下表格所示的销售数据:

产品销售数据表

表格中每一行表示某个时间段内某种商品在某个地区的销售情况。很明显,这些数据涉及到了时间、地区、产品三个业务角度。

在对这样的数据进行分析时,不同的角色都会基于自己所感兴趣的业务角度提出问题

销售经理关心各个地区的销售情况,希望找出销售增长率在平均水平之下的地区产品总监则希望了解近期内各种产品的销量对比,以作为后期产品研发方向的参考CEO想要知道近六个月内整体销售环比信息,用以评估是否达到公司运营目标

对于表格中的数据,可以将其转换为另一种数据格式 - "三维空间立方体",如下图所示:

图 1 - 数据立方体

相对于表格,以三维立方体形式呈现的数据结构更加直观。

在这个数据立方体中,每一个坐标轴都代表一个业务角度(时间、地区、产品),坐标轴上的坐标值则表示了某个业务角度的一个确定的值(如:北京市、3月份、手机),不同坐标轴坐标值的交叉点则表示一个具体的销售额。

实际上,此数据立方体中表示业务角度的坐标轴就是维度,类似于三维立方体的数据结构则被称为多维数据结构(也称数据立方体)。

再次回顾前文中销售经理、产品总监、CEO各自提出的问题,不难发现他们各自所关注的维度分别为:地区、产品、时间

图 2 - 不同角色关注不同维度

目前我们所模拟的这个数据分析场景较为特殊,因为只有三个维度,所以可以直观的将数据想象成一个三维立方体。

实际情况中,企业进行数据分析时往往要参考更多的维度,而且提出的问题也会更加复杂,此时,已经不能将数据以经典的三维立方体结构进行呈现。

虽然无法在三维空间中呈现更多维度的数据结构,但是面对更多维度时进行数据分析的思路却完全不变,不同的角色只需要从自身所关注的维度出发并提出问题即可,他们即不需要了解十几甚至几十维的数据如何存储,也无需考虑多维数据查询的具体实现方式。

核心概念简介

在多维数据分析领域中,有几个非常重要的核心概念:

数据立方体(Cube)维度(Dimension)成员(Member),又称维度成员(Dimension Member)度量(Measure)级别(Level)

图 3 - 多维数据模型

维度(Dimension)

图 4 - 维度

维度就是描述数据的业务角度。在不同的数据分析场景中,会存在若干个不同的维度。

以上图为例,存在三个维度:时间、地区、产品。在这个数据分析场景中,“哪种产品销量最好?”这样的问题显然主要关注的是产品这个维度,而“哪些地区连续六个月销售额环比增长?”则同时关注了地区和日期两个维度。

在一个多维数结构中,维度可以被抽象理解成一个坐标轴,图1中所示的数据分析场景由三个维度组成,每个维度各自代表了三维空间中的一个坐标轴。

相对于三维空间,具有更多维度的空间结构显然不易于被理解,实际上,您并不需要在头脑中想象出一个更多维度的空间场景,下文中几个简单的步骤将帮助您快速理解多维空间结构:

【理解一维空间结构】

图 5 - 一维空间图

一维空间是一把尺子,只有一个坐标轴,坐标轴上的一个坐标值就能确定一个点

【理解二维空间结构】

图 6 - 二维空间图

二维空间是一个平面,具有两个坐标轴,不同坐标轴上的两个坐标值确定一个点

【理解三维空间结构】

图 7 - 三维空间图

三维空间具有长、宽、高三个坐标轴,三个坐标轴坐标值确定一个点

【理解四维空间结构】

四维空间比三维空间多出一个坐标轴,这里我们称这个新的坐标轴为“第四坐标轴”,现在如果需要确定一个点,除了长、宽、高三个轴上的坐标值外,还需要第四坐标轴上的一个坐标值

【理解N维空间结构】

N(N可以是大于零的任意整数)维空间中具有N个坐标轴,需要N个不同坐标轴上的坐标值才能确定一个点

维度成员(Dimension Member)

前文介绍维度概念时,讲到可将维度理解成表示某种业务角度的坐标轴,而维度成员则非常类似于维度坐标轴上的坐标值。

以时间维度为例,“一季度”、“1月份”、“2月份”这三个维度成员同属于时间维度,它们各自表示了时间维度下一个具体的时间段。

由下图可以看出,同一个维度下的维度成员呈现出树状结构,我们将没有子级成员的成员称为明细成员(Leaf Member,又称明细维度成员Leaf Dimension Member),其他成员称为非明细成员。

图 8 - 明细成员与非明细成员

数据立方体(Cube)

数据立方体表示由若干个维度所描述的一个数据集合,每个维度各自表示一个可对此数据集合进行观察和分析的业务角度。

图 9 - Cube(数据立方体)

之所以称为“立方体”,是因为由三个维度所描述的一个数据集,能够非常轻松的被想象成三维空间中的一个立方体结构。

需要注意的是,在多维数据分析体系中,一个数据立方体往往具有更多的维度,虽然更多维度形态并不像三维空间立方体那样直观,但维度表示某些业务角度的作用不会改变。

度量(Measure)

图 10 - 度量值

在一个数据立方体中,从每个维度上都选取一个确定的维度成员,这些维度成员组合所确定的一个点就是度量值。

在图 10示例中,日期维度:1月份、地区维度:河北省、产品维度:手机确定了一个最细粒度的数据方块,这个小数据方块(下文称为Data Cell)就是销售额6688这个度量值,显然,这表示“河北地区1月份手机产品的销售额是6688”。

如果仔细观察图 10,您可能会发现并没有一个Data Cell能够直接表示“北京市一季度手机产品的销售额”。由于一季度与1、2、3三个月份是父子级的关系,所以“北京市一季度手机产品的销售额”可以通过汇总计算得到,如下图所示:

图 11 - 度量值汇总

一般情况下,数据立方体中并不直接存储非明细成员所描述的度量值,而是通过对其后代成员中的全部明细成员进行汇总计算而得出。

级别(Level)

级别表示维度成员所描述业务角度的细节程度,也可理解为通过维度成员观察数据的粒度。例如日期维度中一季度、1月这两个成员,分别属于季度、月份两个不同的级别,显而易见,季度级别的维度成员描述数据的粒度较为宽泛,月级别则较为细致。

图 12 - Level(级别)

举报/反馈