数据仓库几个基本概念

1.1立方体(Cube)

多维数据模型,是Olap分析的数据模型,由多个维度构造出的多维立方架构和度量值组成,多维度的交点,即立方体的单元格,对应一个度量值。多维运算的结果,是n维的超立方体。在数学上可对应一个多维数组(维度1、维度2、维度3……维度n,度量)。如下图,该Cube有三个维度:产品、时间、工厂位置,单元格中的数字是度量,比如金额,这个Cube只有一个度量值,实际上Cube可能有多个度量值。

图1 立方体结构

1.2维度(Dimension)

是人们观察数据的特定角度,是考虑问题时的一类属性,属性集合构成一个维。例如:时间维、地理维等。维度具有层级结构,由多个级别组成,每个级别挂有多个成员,因此,一个维度结构是一个树状结构或称金字塔结构(当然,如果只有一个级别,那就是扁平结构),每个节点带一个成员。维度水平布局由维度层次结构中具有相同级别的列值生成,而垂直布局由维度层次结构中具有不同级别的列值生成。

图2 维度结构(工厂位置)

1.3级别(Level)

人们观察数据的某个特定角度还可以存在细节程度不同的各个描述方面。例如:时间维可分为年、季度、月等3个级别。级别构成维度的层级结构,如上图工厂位置维度,由两个级别组成:东西部、州。

当然,不是说维度都必须具有几个级别,很多情况下只有一个级别。

可以定义这样一种特殊的级别,即“所有”级别,处于最高级别。它只有一个成员“所有成员”,是所有成员的聚合值。

1.4成员(Member)

表示维度的项目值,构成了维度的坐标。维的取值。是数据项在维中位置的描述。例如:“2004年3月28日”是在时间维上成员的描述。成员挂接在级别上,一个成员必须且只属于一个级别,比如工厂位置维度,从下至上有两个级别“州”、“东西部”,以及特殊的“所有”级别,其中“州”级别上有以下成员:“缅因州”、“俄亥俄州”、“爱达荷州”,“得克萨斯州”,“东西部”级别上有“东部”、“西部”两个成员,“所有”级别上有一个成员“所有工厂位置”。

1.5 成员属性(Member Property)

表示成员的属性,每个成员可以有多个属性。最常见的属性有name、caption等,name属性可以用来查询,caption可以用来显示,根据业务需要,可以定义各种属性供分析使用。

 

1.6 度量值(Measure)

在多维数据集中,度量值是一组值,这些值基于多维数据集的事实数据表中的一列,而且通常为数字。此外,度量值是所分析的多维数据集的中心值。即,度量值是最终用户浏览多维数据集时重点查看的数字数据。不同维度在某一取值下的交叉点。例如:维度为2004年1月,上海,笔记本电脑,度量值为$100000。

度量值表示分析指标,如销售额,销售数量,一个立方体包括一个或一个以上的度量值,所有度量值组成一个特殊的维度,即度量维,度量维是扁平结构,其成员就是度量值,度量值本身是一个Member。如果Cube定义了两个度量值::销售额,销售数量,那么度量维包括一个特殊级别,该级别挂了两个成员(“销售额”,“销售数量”),度量维一般取名为“Measures”。

每个度量值必须定义一个聚集函数(Aggregator),聚集函数表示在构造立方体数据时,度量值如何从低级别汇总到高级别。常见的聚集函数包括: Sum(求和),Max(最大值),Min(最小值),Avg(平均值),Count(计数)。

度量值还可以定义格式字符串(FormatString),表示该度量的精度,一般用于界面显示。

 

另外:关于层次结构(hierarchy)的说明:层次结构的理解,我们可以把它认为是为了方便分析问题而将一组member组织成的结构.  大多数维都是仅有一个层次,但有时候一个维有多个层次。比如:你可能希望在时间维上从天聚集到月,季度和年;或者从天聚集到周和年。这两种层次都是从天到年,但是聚集的路径不同。大多数层次有全成员,全成员包括层次的所有成员,因此能够代表他们的总合。它通常命名为’All something’,比如:’All stores’.   在一个维上存在两个层次的原因是这样对最终用户是有用的. 如果一个维上存在两个层次, MDX会强制不允许在一个查询中同时用到他们.

已有1条评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注

To create code blocks or other preformatted text, indent by four spaces:

    This will be displayed in a monospaced font. The first four 
    spaces will be stripped off, but all other whitespace
    will be preserved.
    
    Markdown is turned off in code blocks:
     [This is not a link](http://example.com)

To create not a block, but an inline code span, use backticks:

Here is some inline `code`.

For more help see http://daringfireball.net/projects/markdown/syntax

您可以使用这些HTML标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>