与业务系统类似,商业智能的基础是数据。但是,因为关注的重点不同,业务系统的数据使用方式和商业智能系统有较大差别。本文主要介绍的就是如何理解商业智能所需的多维数据模型和多维数据分析。
数据立方体
多维数据模型是为了满足用户从多角度多层次进行数据查询和分析的需要而建立起来的基于事实和维的数据库模型,其基本的应用是为了实现OLAP(Online Analytical Processing)。
其中,每个维对应于模式中的一个或一组属性,而每个单元存放某种聚集度量值,如count或sum。数据立方体提供数据的多维视图,并允许预计算和快速访问汇总数据。
数据立方体是一类多维矩阵,让用户从多个角度探索和分析数据集,通常是一次同时考虑三个或更多因素(维度)。数据立方体是二维表格的多维扩展,如同几何学中立方体是正方形的三维扩展一样。 “立方体”这个词让我们想起三维的物体,我们也可以把三维的数据立方体看作是一组类似的互相叠加起来的二维表格。下面是一个数据立方体的示意图,这张图上,每一个小方格代表着一个“源、路线、时间”组合下的包数和上一次的时间。
关于数据立方体,这里必须注意的是数据立方体只是多维模型的一个形象的说法。立方体其本身只有三维,但多维模型不仅限于三维模型,可以组合更多的维度,但一方面是出于更方便地解释和描述,同时也是给思维成像和想象的空间;另一方面是为了与传统关系型数据库的二维表区别开来,于是就有了数据立方体的叫法。
多维数据模型的基本概念
在多维数据模型中,有一些基本概念,结合上面的例子,这些概念很好理解。
维度:就是观察数据的一种角度。在这个例子中,路线,源,时间都是维度,这三个维度构成了一个立方体空间。维度可以理解为立方体的一个轴。要注意的是有一个特殊的维度,即度量值维度。
维度成员:构成维度的基本单位。对于时间维,它的成员分别是:第一季度、第二季度、第三季度、第四季度。
层次:维度的层次结构,要注意的是存在两种层次:自然层次和用户自定义层次。对于时间维而言,(年、月、日)是它的一个层次,(年、季度、月)是它的另一个层次,一个维可以有多个层次,层次可以理解为单位数据聚合的一种路径。
级别:级别组成层次。对于时间维的一个层次(年、月、日)而言,年是一个级别,月是一个级别,日是一个级别,显然这些级别是有父子关系的。
度量值:要分析展示的数据,即指标。如图1中一个cell中包含了两个度量值:装箱数和截至时间,可以对其进行多维分析。
在不同的数据分析软件或方法中,上述概念可能有不同的表述,比如Wyn Enterprise中将“度量值”称为“度量”但是核心含义是可以触类旁通的。
多维分析操作
多维数据模型支持多种操作,这些操作被称为多维分析操作,它们支撑着商业智能的交互性。多维分析操作包括:钻取(Drill-down)、上卷(Roll-up)、切片(Slice)、切块(Dice)以及旋转(Pivot),下面还是以上面的数据立方体为例来逐一解释。
钻取(Drill-down):在维的不同层次间的变化,从上层降到下一层,或者说是将汇总数据拆分到更细节的数据,比如通过对2018年第二季度的总销售数据进行钻取来查看2018年第二季度4、5、6每个月的消费数据,如上图;当然也可以钻取浙江省来查看杭州市、宁波市、温州市……这些城市的销售数据。
上卷(Roll-up):钻取的逆操作,即从细粒度数据向高层的聚合,如将江苏省、上海市和浙江省的销售数据进行汇总来查看江浙沪地区的销售数据,如上图。
切片(Slice):选择维中特定的值进行分析,比如只选择电子产品的销售数据,或者2010年第二季度的数据。
切块(Dice):选择维中特定区间的数据或者某批特定值进行分析,比如选择2010年第一季度到2010年第二季度的销售数据,或者是电子产品和日用品的销售数据。
旋转(Pivot):即维的位置的互换,就像是二维表的行列转换,如图中通过旋转实现产品维和地域维的互换。部分商业智能软件,如Wyn Enterprise将旋转和钻取合二为一,大大提升了数据分析的便利性。
总结
本文介绍了商业智能的数据基础,多维数据模型与分析方法的概念。商业智能软件的核心就是从业务系统或其他数据源中抓取数据,组织成多维数据模型,并且提供一系列包括数据可视化在内的交互手段,帮助使用者进行多维数据分析。
随着时代的进步,包括Wyn Enterprise在内的商业智能软件已经可以让用户通过在页面上妥妥拽拽即可完成本文中介绍的建模和分析过程,一定程度上,拉低了商业智能的门槛,让更多的企业可以通过商业智能获益。