华远智德(北京)科技有限公司 Jupiter Consulting (Beijing) Ltd.
  
技术讲堂


您的位置: 首页 技术讲堂 第三课 维度的内部结构

第一讲 非层次结构(1)

对于层次的强有力支持是联机分析处理(OLAP)的第二个逻辑需求,同时也是OLAP与传统的SQL数据库及电子表格的首要区别。定义层次的两种主要方法,如图3.1.1所示,通常被称为水平的层次和非水平的层次。
查看详情

第二讲 非层次结构(2)

有些读者可能已经从一些统计方面的书籍中知道了名词(nominal)、序数(ordinal)和基数(cardinal)序列之间的差别。一组政党或者赛跑者的列表是一个典型的名词序列。赛跑者在公路赛跑中的名次则是一个序数序列。而整数则是基数序列的一个例子。 

查看详情

第三讲 非层次结构(3)

粗看起来,维度似乎就是由一组实例组成,并且可能带有一定的层次结构。毕竟,你可以在很多不同的OLAP产品中定义层次,在这些OLAP产品中都没有让你定义单位或度量。因此你可能会问为什么要引入单位或度量呢?一个快速简单的答案就是每一次你使用父节点、子节点和层次的时候,其实都隐含地引用了度量。 

查看详情

第四讲 维度层次(1)

很多商业和科学的维度都具有层次结构。类似的概念还有抽象、分组、多层关系、聚合和合并。简单地说,每个人都应该熟悉某些层次维度。我们以时间为例子,其中包含小时、天、星期、月份、季度和年份,从而组成了一个层次维度。地理位置,其中包含了邻居、城市、省份和国家,组成了另外一个层次维度。企业报表结构,经常会包括任务、项目、部门、业务单元和企业级别,从而也组成了层次维度等。 

查看详情

第五讲 维度层次(2)

让我们回顾一下由一组具有不同度量的实例——度量对所组成的层次类型,当然这里所有的度量都应该保证可比较性。因此实例——度量对的差别可能存在于两个方面:对于给定的实例可能度量会有所不同,或者是给定了度量但是实例有所不同。所有父——子、祖先——后裔、层次、粒度、换算系数或者分解的概念都可以用每个i的⊿m或者m/i表示。具体如图3.5.1所示。 

查看详情

第六讲 维度层次(3)

不同类型层次之间一个关键差别是从层次的根节点或者叶子节点共享相同距离m的一组实例,是否也从叶子节点或根节点共享相同的距离m,考虑图3.6.1、图3.6.2和图3.6.3。对于图3.6.1中的层次,如果需要访问所有到根节点的距离与家电产品相同的节点,则结果如图3.6.2所示。结果包括了桌子、椅子、床、家电产品和办公用品。其中所有的元素距离根节点的距离都是2。 

查看详情

第七讲 水平或者对称的层次

虽然非对称的层次非常常见,但是并不是所有的层次都是非对称的。如图3.7.1中的时间层次,其中的每一个成员,无论从上到下还是从下而上,它们的距离都是一样的。对于对称层次来说,你可以按照它们的层次来引用。因此,在图3.7.1中,度量季度的所有实例就是所有叶子有两个度量上升的节点,也就是距离根节点有一个度量下降的节点:它可以简单地用季度层次来引用。 

查看详情

第八讲 具有名词排序实例的带级别维度

在业务维度中,一个典型的名词级别维度的例子是地理位置,如图3.8.1所示。请注意其中命名的级别是商店、城市、地区、国家等。实例需要满足级别之间必须有允许连接的条件。每一个商店必须连接到某个城市,每个城市必须连接到一个或者多个商店。当具有相同度量的实例集合都充分连接到了一个相邻度量的实例之后,那么所有的聚合操作就都会有确定的结果。 

查看详情

第九讲 具有序数排序实例的带级别维度

对于名词级别来说,可以很容易按照某种原则对其进行排序,例如,对于地理维度中的商店级别,可以按照销售额进行排序,或者对于国家级别可以按照人口进行排序。
查看详情

第十讲 具有基数排序实例的带级别维度:时间和空间

时间和空间是两个最常见的带有级别的维度和类型,其中的实例都是自然地按照基数排序的,它们通常都是作为业务维度来使用而不是测度。它们的级别可以称为秒、分钟、小时、天、星期、月、季度、年,或者厘米、米和千米。除了类型的每个实例都属于一个或另一个度量、所有的度量都是可以定量比较的之外,一个级别中的所有实例都是基数相关的。
查看详情

第十一讲 固定的换算系数

到目前为止,我们所看到的所有带有级别的维度,甚至是那些基数排序的实例,它们的换算系数都是可变的。现在我们来看一些具有固定换算系数的级别维度。虽然将固定换算系数作用到具有名词排序实例的带有级别的维度上从逻辑上是可能的,但是实践中,固定换算系数仅仅作用在具有基数排序实例的级别上,这一点我们稍后将会看到。 
 

查看详情

第十二讲 单个类型中的多个层次

在单个类型中可能存在多个层次。例如,在地理维度中,商店可以按照地区或者商店类型进行上卷。产品可以按照种类或者商标来上卷。类型中的每个层次是由一组惟一的级别或者具有层次关系的一组实例组成。例如,一个时间类型可以由两个层次组成:一个财政层次和一个日历层次。两个层次都可以共享天和月的级别。然后可以在季度和年份级别上有所差别。 

查看详情

第十三讲 伪级别

一个带有名称的级别可以用一个基于非水平层次的工具来模拟,条件是该工具支持多层次,具体的方法是引入一个成员作为级别的根,然后让所有的成员都直接成为根的孩子,从而作为一个共同的级别。为了表示图3.13.1B中非水平的地理层次中城市级别的概念,我们需要引入一个名叫“城市”的根成员,然后将它作为成都、广州、沈阳的父节点。
查看详情

第十四讲 排序

通过将排序的概念引入到兄弟关系中,我们可以对兄弟进行第一个、第二个和最后一个等形式的访问,许多OLAP产品都可以利用相对函数或者兄弟函数来调用非水平维度中的兄弟。
查看详情

第十五讲 虚拟成员

就象非水平层次工具可以通过使用伪级别来提供某些水平的功能一样,纯粹的基于水平的工具也可以通过使用虚拟成员来提供非水平层次的建模。那么如何使用基于水平的工具来建立非水平的地理层次呢?最主要的是需要将每个节点和一个级别联系起来。当然,这里主要的问题是很多节点需要与不止一个级别关联起来。
查看详情

第十六讲 混合层次

最后,因该清楚地看到,现实世界通过混合的层次体现将更合适。对于大部分你所从事的项目来说,很有可能有些类型最好定义为非水平的,有些类型最好定义为水平的。而有些类型可能定义为水平和非水平的组合是最好的。现实世界中的产品层次通常在根节点处是水平的,而在接近叶子节点的时候常常是非水平的。因此,从工具的角度来说,理想的维度结构要同时能够在同一个层次中很好地支持水平和非水平层次。 

查看详情
        首页   |  公司介绍   |  服务理念   |  经营管理   |  企业管理 【TOP】      
版权所有 © 2015 jupiterst.com