首页 百科知识 的多维数据结构

的多维数据结构

时间:2022-10-18 百科知识 版权反馈
【摘要】:多维数据模型由多维数据结构与多维数据操作两部分组成,我们下面逐一介绍之。当多维结构中的维数为3时则称三维结构,也可称立方体结构或简称数据立方体。基于立方体概念,当多维结构中维数>3时称为超立方体。多维结构的这种组成方式可用:(维1,维2,…图16.6构成了一个连锁商店销售金额的三维数据结构,它也称数据立方体。分析人员可以利用上述的操作与多维结构这种数据环境进行不断的人机交互最终获得分析结果。

16.4.4 OLAP的多维数据结构———数据立方体及超立方体

在上节的星形模式与雪花模式基础上可以构作OLAP逻辑模型———多维数据模型。多维数据模型由多维数据结构与多维数据操作两部分组成,我们下面逐一介绍之。

16.4.4.1 OLAP多维数据结构

我们知道关系数据结构是一种二维(表)结构,但是在OLAP中由于多种观察角度而形成多维(表)结构,这种在多维空间上的表结构称多维表或多维结构。当多维结构中的维数为3时则称三维结构,也可称立方体结构或简称数据立方体(data cube)。基于立方体概念,当多维结构中维数>3时称为超立方体(supper cube)。

多维立方体由多个维组成,它反映了人们的观察角度,维中可以有多个层称为维层次,如在时间维中可以分日期、月份及年度等不同层次,层次也反映了维的粒度。维中维层次的一个取值称为维成员(dimensional member)。如时间维具有日期、月份、年度三个层次,此时一个取值2003年10月23日即是一个维成员,同时2003年10月及2003年也是维成员。

多维结构由多个维组成,当每个维确定一个取值(即确定维成员)时即可获得多维结构中的一个确定(数据)量称变量(variable),而这个数据的值称为数据单元或简称单元(cell)。多维结构的这种组成方式可用:(维1,维2,…维n,变量)表示,称多维数组(multidimensional array),在这个多维数组中对每个维确定一个维成员后即可唯一确定变量值(亦即是单元),即它可表示为:(维成员1,维成员2,…维成员n,单元)。图16.6构成了一个连锁商店销售金额的三维数据结构,它也称数据立方体。在该立方体中三个维分别为:产品、日期与商店,它的多维数据组为:产品、日期、商店、销售额,而它的维成员取值可以是:

img313

图16.6 数据立方体

●产品维成员:VCD

●日期维成员:三季度

●商店维成员:NO.1

根据这三个取值可以在多维结构中获得单元值:1320元即:(VCD,三季度,NO.1,1320)它反映了商店NO.1在三季度中销售VCD的金额为1320元。

16.4.4.2 OLAP多维结构的操作

在OLAP多维结构上可以做多种操作,以便于分析人员做试验以验证其主观分析意图,这种操作共有五种,它们是:切片、切块、旋转、下钻及上探等各种分析动作以剖析数据的目标,使分析人员能从多个角度、多侧面地观察多维结构中的数据,从而深入地了解包含在数据中的规则性信息。OLAP分析方式迎合了人们的思维模式,因此减少了混淆并且降低了出现错误解释的可能性。OLAP操作后一般还展示操作结果,这主要因为多维数据直观效果较差,一般附以图形、报表等多种形式后有助于人机交互。OLAP分析的基本操作有:

1)切片(slice)

定义16.1:在多维数组的某一维上选定一维成员的动作称为切片,即在多维数组(维1、维2、…、维n、变量)中选一维,如维i,并取其一维成员(设为“维成员vi”),所得的多维数组的子集(维1…、维i、…、维n、变量)称为在维i上的一个切片。

img314

图16.7 切片图例

图16.6所示多维数组可表示为(产品,日期,商店,销售额)。如果在商店维上选定一个维成员(设为“N0.1”),就得到了在商店维上的一个切片;在产品维上选定一个维成员(设为“电视机”),就得到了在产品维上的一个切片。在日期维上选定一个维成员(设为“二季度”),就得到了在日期维上的一个切片。显然,这样切片的数目取决于每个维上维成员的个数。上面的图16.7(a),(b),(c)分别给出了这三个切片。

2)切块(dice)

和切片相对应,切块可有如下定义:

定义16.2:在多维数组的某一维上选定某一区间的维成员的动作称为切块,即限制多维数组的某一维的取值区间。显然当这一区间只取一个维成员时,即得到一个切片。

图16.6所示的三维数组中如在日期维中选定维成员为:二季度———三季度,就得到在日期维上的一个切块如图16.7(d)所示。

3)旋转(rotate)

旋转可改变多维数组中维排列次序。设有多维数组:(维1、维2、…维n、变量)则经旋转后可改变成为:(维n、维1、维2、…维n-1、变量)。如二维数组(维1、维2、变量)经旋转操作后可改变成:(维2、维1、变量)。如图16.8(a)所示,在二维数组:(产品维、日期维、变量)经旋转后可变成为:(日期维、产品维、变量)。又如图16.8(b)所示,在三维数组:(产品维、日期维、商店维、变量)经旋转后可变成为:(商店维、产品维、时间维、变量)。

img315

图16.8 旋转

4)钻探

钻探操作是用户对数据深度的操作。在多层数据中能通过钻探操作使用户自由往返于不同深度数据层次中。钻探一般是指向下钻探称下钻,有时也能向上钻探称上探。例如,1999年某种产品在各地区销售收入表如表16.2。

表16.2 1999年某产品销售数据

img316

若在时间维上进行下钻(drill down)操作,可获得其下层各季度销售数据表如下表16.3:

表16.3 1999年各季度某产品销售数据

img317

大多数的OLAP工具可让用户钻探至一个数据集中有更为细节描述的数据层,而更完整的工具则可让用户随处钻探,即除一般往下钻探外,还可向上钻探即上探(rollup)。分析人员可以利用上述的操作与多维结构这种数据环境进行不断的人机交互最终获得分析结果。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈