目的

父子维度的不同之处在于处于其包含了一个基于递归关系(Recursive relationship)的层次关系,比如,上级和下级雇员的层次结构关系是典型的递归关系。在一线工作的雇员会有一个主管,而该主管也是一名雇员。监督者之上会有一名同样的雇员的管理者,而管理者之上也会有一名同样的雇员的经理。经理会有一名行政助理,而行政助理没有下属。

组织中的递归雇员关系可以使用雇员(Emporee)维度表来模拟,其中每位雇员包含一条记录。表的主键是EmployeeKey列,包含了对应于每位雇员的唯一的ID。雇员的上级管理者所拥有的唯一的ID保存在ParentEmployeeKey列。也就说,ParentEmployee列和EmpoyeeKey列存在外键关系。这种在Employee表中两列间的自连接说明其父子维度。但需注意:组织的分支有不同数据的级别。经理和一线工人关系之间有4级,而经理和行政助理之间只有2级,这是一个不对称的层次结构。对于两列间存在递归关系而言,只能创建不同的层次结构。

内容

结合前几篇文章的介绍,这里过程是一样的,我们就不做介绍了,简单的贴图即可;

我们在DimPloyee表中新建一个命名空间:

添加维度

这里维度向导会检查数据源视图中的外键关系,会把DimSalesTeerritory表的也导入,这里我们为了保值维度简单,我们不添加这种表。

我们在可用属性栏目,将Emplyee Key属性重命名为:Emplyee;将Parent Employee Key改名为Employees

完成向导,并将维度的名称改为Employee。

在我们创建完Employee维度后,向导将识别出DimEmployee表中EmployeeKey和ParentEmployeeKey列之间的自连接关系,并使用这些列来创建父子维度层次。

下面我们来配置下这些层次

1、在“维度结构”中选项卡中的“属性”窗格中,右击Employee属性并选择“属性”

如图所示Employee属性用来创建该父子层次结构的子集。可以看到,其中Usages属性被设置为Key,父子关系层次结构的子级必须是维度的关键数。可以看到,向导将AttributeHierarchy属性设置为False,当然该属性是可选的。和父子关系没有关系。

2、同样,我们来查看下Employees属性,并选择"属性"。Employees属性用来创建该父子结构中的父级。

提示:每个有且只有一个属性的Usage属性,该值被设为Key。如果是一个父子维度那么有且只有一个属性的Usage属性的值被设置为Parent。所有其他属性的Usage属性值均被设置为Regular.

下面我们来更改下Employee属性,让它按照离职时间排序(End Date)

1、选择属性选项卡,我们可以看到他们已经存在了舒心关系;

2、在“维度结构”选项卡中,在属性窗口中,我们选择Employee,右击查看属性

3、在“属性”窗口中,分别将Order By和OrderByAttribute属性的值设置为AttributeName和End Date

这里的End Date就是为了排序而用,别的我们不需要将其显示,所以我们来把它隐藏

选择End Date右击属性,在“属性”窗口中,将AttributeHiserarchyEnable和AttributeHierarchyVisible属性都这设置为False

至此,一个父子维度我们创建完成,当然实际应用中,还有一些细节需要我们针对需求而更改,大部分都是些属性的设置,多练习下即可。

转载于:https://www.cnblogs.com/zhijianliutang/archive/2012/03/11/2390195.html

《分析服务从入门到精通读书笔记》第四章、创建父子维度(7)相关推荐

  1. 《分析服务从入门到精通读书笔记》第二章、分析服务工具篇

    Microsoft提供了一套完整的商业智能平台应用程序.使我们能够创建企业级.功能齐全的商业智能系统. Microsoft商业智能平台基于SQL Server 2008和Microsoft Offic ...

  2. 《分析服务从入门到精通读书笔记》第二章、多维OLAP优势篇(2)

    持续的快速相应 OLAP获得持续的快速相应速度的一种方式是预先存储计算好的数值.一般来说,要么在查询时花时间进行相关计算,要么在查询前就已经进行了相关的计算.OLAP允许提前进行计算,因此查询能运行的 ...

  3. 《分析服务从入门到精通读书笔记》第一章、数据分析基础(1)

    目的 学习一些商业智能的基本概念,如属性.层次结构和维度 数据分析中的属性 假设如果你是AWC公司的总经理,希望了解公司的业绩,于是从业务人员那里得到一份报表 表1.1 AWC公司业绩     42  ...

  4. 《分析服务从入门到精通读书笔记》第一章、维度数据仓库(4)

    简介 商业智能系统将维度数据仓库作为数据存取层.数据仓库存储在关系型数据库管理系统(RDBMS)中,打一个非常简单的比方,你可以将关系数据库简单地想作一系列的表格.每个表格有行和列,就行Excel电子 ...

  5. 《分析服务从入门到精通读书笔记》第一章、数据分析层次结构(2)

    目的 通过简单的层次结构将产品和模型属性进行组织,并使用层次结构对详细数据分组和汇总的报表.本节了解如何建立层次架构 内容 通过第一节中的介绍,相关属性添加到各个级别,可以创建层次结构.基于" ...

  6. 日本蜡烛图分析技术:从入门到精通:读书笔记

    比较重要的蜡烛线: 十字星线: 如果最近没有出现十字星线,突然出现一个十字星线,那么我们需要注意. 在上升行情阶段,出现的十字星说明购买力在衰减,下跌趋势的十字星线则并不十分可靠. 长腿十字星线: 当 ...

  7. FFmpeg从入门到精通读书笔记(1)

    笔者才开始学习音视频开发,FFmpeg从入门到精通读书笔记系列主要是基于阅读刘歧.赵文杰编著的<FFmpeg从入门到精通>以及雷霄骅博士博客总结写的入门心得体会. 官方文档资料 FFmpe ...

  8. mysql数据应用从入门_MYSQL数据库应用从入门到精通----读书笔记

    mysql 1.创建数据库 create database database_name; 2.查看数据库 show database_name; 3.选择数据库 use database_name; ...

  9. 读书笔记 第四章 创造力

    读书笔记 第四章 创造力 创造性工程师的特点 创造性工程师一般具有以下特点: 1.坚持不懈 寻找问题的创造性解决方案需要不断的努力.在工作中总会遇到各种各样的问题,一个成功的创造性工程师永不会放弃.托 ...

最新文章

  1. IIS7 / IIS7.5 URL 重写 HTTP 重定向到 HTTPS(转)
  2. ES6之let(理解闭包)和const命令
  3. FileChannel应用实例——本地文件读数据
  4. 一个linux提权用的技巧
  5. exp/imp三种模式——完全、用户、表
  6. Apollo基础设置
  7. Atcoder Keyence Programming Contest 2020 D - Swap and Flip
  8. CSS伪类的三种写法
  9. LeetCode 1026. 节点与其祖先之间的最大差值(二叉树DFS)
  10. 洞察SaaS:中国SaaS的前世今生
  11. Paper and Codes Leaderboard
  12. 在吗?我要讲件大事了,你绝对不知道CSDN公众号还有这个功能!错过后悔!
  13. 识别和非识别关系之间有什么区别?
  14. linux各路径(目录)的解释(转载)
  15. ssd用HD软件测试准确吗,HDtune到底适不适合用于测试SSD
  16. 支付宝小程序自定义键盘-车牌号键盘
  17. 织梦DEDE采集文章标题过短,自带采集标题限制,解决文章标题字数长度方法
  18. pyspark案例系列11-ALS推荐算法
  19. 简易图片打像素标签工具
  20. 用python实现纸牌游戏的随机抽牌洗牌过程(item系列几个内置方法的实例)

热门文章

  1. 王道 —— 进程的定义、组成、组织方式、特征
  2. 改善深层神经网络:超参数调整、正则化以及优化——2.7 RMSprop
  3. 去哪儿-05-recommendDev
  4. MSVCRTD.lib(crtexew.obj) : error LNK2019: 无法解析的外部符号 _WinMain@16,该符号在函数 ___tmainC
  5. NDK编译c包含C++头文件时,出现 error: unknown type name 'class' 的解决方法
  6. 推荐系统知识梳理——WideDeep
  7. LeNet-5——CNN经典网络模型详解(pytorch实现)
  8. vlc 在ubuntu 14下的linux版本编译
  9. 使用java连接ftp服务器_Java如何连接到FTP服务器?
  10. apereo cas开发_Apereo CAS Server服务端搭建教程