父子维度用法

父子维度的特点是存在自引用,数据存在层次结构,table的schema的特点是存在一个字段和本身存在外键关系,例如员工表 emph(ID,ParentID,。。。。)。

下图是AdventureWorksDW2012中的DimEmployee,语义是一个员工的Leader,也是Employee。

1,创建DimEmployee维度,只创建两个属性

查看Attribute Usage,EmployeeKey是Key,而ParentEmployeeKey是Parent。

2,父子维度会自动把ParentEmployeeKey创建为一个用户自定义的Hierarchy,而不是属性层次结构。

3,增加一个属性title,DimEmployee维度的三个属性的Icon都是不同的,在Browser中,能看到Title层次结构,SSAS为Title创建的Hierarchy是属性层次结构。

4,查看Title的Properties,在Advanced中有三个重要的属性,

AttributeHierarchyEnable:是启用属性Title的属性层次结构,如果设置为False,就不会创建属性层次结构。

AttributeHierarchyVisible:表示属性层次结构是否可见,如果启用属性Title的属性层次结构,但是AttributeHierarchyVisible=false,那么在Borwser中查看不到该属性的属性层次结构。

DefaultMember:默认的成员,如果没有设置DefaultMember,并且IsAggregatable=true,那么系统会自动生成一个All成员,作为Hierarchy的默认成员,如果IsAggregatable=false,那么那么系统不会自动生成一个All成员,系统将Hierarchy的第一个成员作为Hierarchy的默认成员

IsAggregatable:是否是可聚合的。如果是可以聚合的,SSAS会自动生成一个名为All的成员,代表该属性所有值的聚合。如果IsAggregatable=false,那么将使用该属性的第一个值做为查询条件来进行聚合。

5,IsAggregatable 属性的理解

将Title的IsAggregatable设置为Ture,通过borwser查看,存在All成员和All Level。

将Title的IsAggregatable设置为False,通过borwser查看,没有生成All成员和All Level。

5,AttributeHierarchyVisible 属性

在Borwser中看不到EmployeeKey 属性层次结构的原因是AttributeHierarchyVisible=false

6,Value column 显示成员的值,如果不设置,默认值是name Column。

KeyColumns一般被设计为int值,只作为Primary Key,起到唯一标识作用。

NameColumn方便阅读

ValueColumn 是成员的值,能够做特定的运算。

如何理解KeyColumns,NameColumn和ValueColumn?对一行记录有不同的理解,但都是同一行记录,对于int类型,占用存储空间小,容易聚合,适合做primary key,但是不易阅读,char类型的数据,容易阅读,适合作为Name Column,对于一个有具体类型的数据,其value必须能够做一些运算,例如Date类型,能够做Year(),dateadd()等运算,这些可以通过ValueColumn来进行。

示例,一个表Record(ID,Name,Value),有一行数据(1,20150201,1/2/2015)

那么ID=1是keyColumn,Name=20150201是NameColumn,Value=1/2/2015是ValueColumn

7,父子维度特有的属性,这些属性是Attribute Usage=Parent的维度属性特有的。

7.1 属性RootMemberIf

判断一个节点是否为根节点的依据,把属性的值赋成ParentIsBlankSelfOrMissing,表示当一个成员的Parent属性值为空,是自己,或者不存在的时候,这个成员就是根节点。

7.2 MembersWithData 是否在子节点中,显示非叶子节点。

默认值是NonLeafDataVisible,每个节点的子节点清单中都有一个自己。

把MembersWithData属性的值赋成NonLeafDataHidden,就不会显示非叶子节点了。

7.3 MemberWithDataCaption

在某一个非叶子节点下,为该节点增加一个Caption,以区分非叶子节点。

例如,MemberWithDataCaption=Senior_*,* 代表当前成员的值

7.4 NamingTemplate,实际上是Level Naming Template

为非叶子节点的Level定义一个命名模板,第一个Leval命名为All,且不能改变,从Level2开始,默认的是Level +数字。

通过Level Naming Template可以改写Level的命名模板,例如将Level2命名Boss_Level,,,,,

时间: 2024-12-25 11:03:38

父子维度用法的相关文章

《BI项目笔记》创建父子维度

创建步骤: 而ParentOriginID其实就是对应的ParentOriginID,它的 Usage 必须是 Parent 才能表示这样的一个父子维度. 查看OriginID属性, Usage 是 Key. 在这里一定要注意,父子关系层次结构中的子级必须是维度的关键属性,所以OriginID这里的 Usage 必须是 Key . 并且要注意的是每一个维度有且只能有一个属性的 Usage 属性能够被设置为 Key.这里别混淆了维度属性和数据库字段(属性),作为维度属性中的 Key 有可能是由数据

SSIS父子维度

1.数据仓库结构: 2.区域的AttributeHierarchyVisible设置为False 3.Parent ID的Usage设置为Parent 4.级别命名: 5.结果:

《BI项目笔记》创建时间维度(2)

创建步骤:   序号 选择的属性 重命名后的名称 属性类别 1 DateKey DateKey 常规 2 Month Key Month Key 月份 3 English Month Name English Month Name 每年的某一月 4 Month Number Of Year Month Number Of Year 常规 5 Calendar Quarter Key Calendar Quarter Key 季度 6 Calendar Quarter Calendar Quart

SqlServer Analysis Service的事实维度关系

什么是Fact(事实)维度关系 开发过SSAS Cube的开发人员应该都知道,Cube的维度用法中有一种叫Fact(事实)关系类型,如下图所示: Fact(事实)维度关系就如同上面截图中红框中的描述一样,指的是一张表即使事实表又是维度表,也就是数据仓库中通常说的“退化维度”.比如在本例中我们的FactInternetSales(FactInternetSales表在数据源视图中的FriendlyName是Internet Sales Facts,所以在Cube中FactInternetSales

定义父子层次结构

父子层次结构是标准维度中包含父属性的层次结构. 父属性用于说明维度主表内部的“自引用关系”或“自联接”. 父子层次结构是根据单个父属性构造的. 层次结构中出现的级别是通过与父属性关联的成员之间的父子关系形成的,因此只为一个父子层次结构分配一个级别. 父子层次结构内成员的位置由父特性的 KeyColumns 和 RootMemberIf 属性确定,而级别内成员的位置则由父特性的 OrderBy 属性确定. 有关特性属性的详细信息,请参阅属性和属性层次结构. 由于父子层次结构中各级别之间均存在父子关

作业九 ——报告及总结

<软件工程>课程总结 <软件工程>课程既强调基本概念和基本知识的理解和掌握,又侧重软件项目的分析.设计.实现和维护的基本技能.比较注意“点”和“面”的结合.我还是蛮喜欢这门课的,通过对这门课的学习让我意识到理论学习很重要,实践更重要,实践是检验真理的唯一标准,只有将理论与实际结合,才更能发挥我们所学的知识的作用.整一个学期下来,总的来说还是学到了很多东西的,有很多地方是值得肯定的,其实在我看来,软件工程与其说是一门课程,不如说是一门思想.是一个如何去分析和处理问题的过程,应该说其范

微软BI项目笔记连载

本系列文章主要是结合实际项目,加上自己的总结,整理出来的一系列项目笔记,涉及微软SQL Server2008中商务智能开发中的多维分析模块: <BI项目笔记>基于雪花模型的维度设计 <BI项目笔记>数据源视图设置 <BI项目笔记>创建标准维度.维度自定义层次结构 <BI项目笔记>创建父子维度 <BI项目笔记>创建时间维度(1) <BI项目笔记>创建时间维度(2) <BI项目笔记>创建多维数据集Cube

《BI项目笔记》——微软BI项目笔记连载

原文:<BI项目笔记>--微软BI项目笔记连载 本系列文章主要是结合实际项目,加上自己的总结,整理出来的一系列项目笔记,涉及微软SQL Server2008中商务智能开发中的SSAS.SSIS模块:  准备工作: <BI项目笔记>基于雪花模型的维度设计 <BI项目笔记>数据源视图设置 <BI项目笔记>创建标准维度.维度自定义层次结构 <BI项目笔记>创建父子维度 <BI项目笔记>创建时间维度(1) <BI项目笔记>创建时间

《BI项目笔记》创建多维数据集Cube(2)

原文:<BI项目笔记>创建多维数据集Cube(2) 本节建立: 历年的初烟水分均值变化分析Cube:区域维度:地州,专县时间维度:年等级维度:大等级,小等级指标:水分均值 数据源视图: 数据处理: ALTER TABLE T_QualMoisture_Middle ALTER COLUMN V_Produce_ID VARCHAR(50) ALTER TABLE T_QualMoisture_Middle ALTER COLUMN V_Batch_ID VARCHAR(50) DELETE F