前面咱们使用过数据源向导、数据源视图向导、Cube向导来建立相应的对象。 html
本篇咱们将学习使用维度向导来建立维度。 工具
经过前面几个向导的学习,咱们概括一下共同点,主要分红两步 性能
1. 使用某种对象类型的向导建立对象,完成主要结构搭建 学习
2. 使用相应的设计器完成最终对象的修改和细化 优化
有点像送快递,先经过大的物流(建立对象向导)把货物送到相应的城市,再经过快递员(设计器进行细化)送到具体顾客手中。 spa
一样的,咱们使用维度向导以一种通用的方式来建立维度,而后根据本身的业务需求,使用维度设计器将建立的维度放置到它们的最终目的地。 设计
维度能够提供切分多维数据集数据的功能。 3d
前面提到过,维度包含层次结构的对象,分为特性层次结构和多级或用户层次结构。前者对应于关系表中的单个列,后者派生自两个或更多特性层次结构。 orm
咱们接着使用咱们以前建立的项目ASMultidimensionalPOC 来进行进一步的练习。 htm
在原有的基础上,咱们添加Geography维度,步骤:
1. 切换到dsv视图,点击DSV设计器工具栏上的Add/Remove Objects按钮
2. 选择DimGeography 添加到DSV中。
1. 右击Dimensions文件夹 -->New Dimension
2. 在Select Creation Method页面选择默认项 Use an existing table
3. 在Specify Source Information页面中,须要选择用于建立维度的DSV, 基于的主表,维度的键列及名称列(可选),按照下面选择,下一步
在Main table中选择DimGeography表.
Key columns列表和Name column字段将自动设置为选定表的主键。
4. Select Related Tables
5. Select Dimension Attributes页面显示选择做为要建立的维度的主表的列。
向导会将这些列转换为维度特性。按下图设置, Next
6. 最后一个页面显示将要为维度建立的特性,点击完成。
至此,咱们用向导建立的第一个维度就完成了。
接下来使用维度设计器来进一步设计这个维度。
首先看下维度设计器的组成。
能够看到,顶部有4个tab页,分别是
Dimension Structure,Attribute Relationships, Translations, Browser
本篇会介绍前两个tab, Translations和Browser后面再讲。
第一个tab包括3个窗格,分别是Attributes, Hierarchies, DSV
Attributes显示维度的特性,Hierarchies窗格显示维度的层次结构及其级别,DSV窗格显示维度中使用的表。
此外,还包含一个工具栏,鼠标放上去就能看到功能说明,再也不多作介绍。
咱们首先对Dimension Structure中的窗格进行介绍.
特性层次结构(简称为特性)是只包含两个级别的层次结构,分别是子级别和All级别。
前者针对每一个不一样的特性值包含一个成员,后者包含全部叶子级别成员的聚合值。
All级别是可选的。每一个特性直接对应于DSV中的某个表列。
Attributes窗格中默认视图是Tree,还有List和Grid 视图。
同一纬度特性具备一对多关系时能够定义特性关系,例如 Country,State和City 之间。
每一个维度必须至少有一个特性定义为键特性,维度向导会自动与维度的全部特性创建关系。(显然键特性在多的一侧)
指定特性关系有助于改进查询性能以及告知用户层次结构的聚合设计。
Atrributes Relationships包含3个窗格,以下
咱们完成Country – State – City 特性关系。
能够经过Diagram窗格,Attributes窗格,Attribute Relationships窗格三种方式建立关系,咱们经常使用的是前两种,下面咱们分别举例。
1.在Diagram窗格中经过拖拽的方式修改特性关系。
2.经过Attributes窗格创建 Country – Province关系
以下图,右键多的这一侧,选择New Attribute Relationship
按下图选择
咱们使用Attribute Relationships窗格编辑 French Country Region Name和Spanish Country Region Name特性的现有关系。
1. 在Attribute Relationships窗格中以下图操做
选择方框处,
将关系属性Cardinality由Many设为One, 将English Country Region Name和French Country Region Name的关系由many-to-one改成one- to - one
一样的方式修改下Spanish Country Region Name
经过Attribute Relationships删除关系比较方便
经过设定关系, 预先聚合,能够没必要遍历完整的层次结构,性能上能够获得改进。
用户层次结构(也称多级层次结构)是经过某个维度的特性建立的。
每一个用户层次结构都包含一个或多个级别,每一个级别自己都是一个特性层次结构。
基于建立的Geography维度的特性,能够建立一个称为Country-State-City-Postal Code的逻辑用户层次结构。
1.切换到 Dim Geography维度的Dimension Structure选项卡,将相应的特性拖拽到右边Hierarchies中,以下图。
2. 更名
建立的层次结构默认名为Hierarchy, 右击Rename改成Geography
将层次结构中的每一级都Rename,方法相似。
最终效果以下图
如今已经建立了一个称为Geography的用户层次结构,而且该层次结构包含4个级别,可单击箭头查看相关特性。
请注意Geography层次结构名称旁边的警告图标以及层次结构名称下面的曲线。
鼠标移上去能够看到提示信息,指示出该层次结构的一个或多个级别之间不存在特性关系,而且可能会致使性能降低。
当前的层次结构设计称为非天然层次结构。
若是层次结构中的某个级别的特性值不能知道上一个级别中谁是父级,那么就会存在非天然层次结构。
举个更容易理解的非天然层次结构的示例Customer Gender-Age层次结构,其中Gender是维度的第一级,而Age是第二级。知道某个客户37岁并不会给出任何性别暗示。
与此相对的是,在天然层次结构中,知道某个级别中某个特性的值可明确地指出在层次结构中下一个级别中谁是他的父级。
天然层次结构的一个示例是Product维度层次结构,其中包含Category,Sub-Category和Product 3个级别。知道某种产品的Sub-Category是Mountain Bike,那么就知道他所属的Category是Bike.
特性值之间的这种关系是经过特性关系来定义的。
咱们优化当前的Geography层次结构,使其称为天然层次结构。
1.切换Attribute Relationships页面。能够看到,Post Code和City之间没任何关系。
2.在Diagram窗格中,将Postal Code特性拖放到City特性。
此时创建起了关系。
3. 再切换Dimension Structure选项卡查看,能够看到警告已消失。
保存该维度。
咱们使用维度向导建立了第一个独立的维度。
你们须要掌握维度向导的使用方法,并重点掌握维度设计器的用法(Dimension Structure和Attribute Relationships的页面功能)
下一篇咱们会将这个维度部署,修改一些部署错误,并查看维度数据以及进一步细化。
祝学习进步:)
相关系列文章列表:
首发博客园 by MiroYuan,转载文章以后必须在文章页面明显位置给出做者和原文链接,不然保留追究法律责任的权利。