您的位置:首页 > 理论基础 > 计算机网络

SQL2008 SSAS学习笔记二:Dimensions[川北小哥http://blog.sina.com.cn/hpj168]

2012-04-18 11:40 274 查看
导读:在上文本创建SQL Server Analysis Service项目的基础上,继续介绍创建标准维度(Dimensions)和时间维度父子维度的基本过程。

本文末尾提供两个项目源码:AdventureWorks_BI_Begin和AdventureWorks_BI_End,顾名思义,开始和完成。另外,包括数据库文件SSAS2008SBS_Data,请读者自行修改数据源ds的连接串。

Tips:设计维度前最重要的一个步骤是透彻了解源数据。



打开项目,并在dsv文件,右键“View Designer”,在视图设计界面,选择“First Dimensions”图表。



其中,product维度是一个雪花型(snowfake)维度。DimProduct表通过外键与DimProductSubcategory表关联,后者又通过外键与DimProductCategory表关联。

DimDate是一个标准维度表,但为了数据能被装载到Analysis services而创建了一些计算成员。

DimEmployee表的ParentEmployeeKey列与EmployeeKey列有一个外键关联。这是一个自关联,因而Employee维度是一个父子维度(parent-child demensions)。

我们先熟悉一下源数据:









(一)创建标准维度

Tips:你必须通过向导来初始化一个维度。在此过程中你将选择源表,键及其他属性。然而,在初始化完成后,多数情况下,你可能需要通过Dimension Designer。

在项目的Dimensions目录,右键“New Dimension”

















我们此时需要部署一个Analysis Services数据,步骤如下:



如果收到错误信息:

The project could not be deployed to the 'localhost' server because of the following connectivity problems : A connection cannot be made. Ensure that the server is running. To verify or update the name of the
target server, right-click on the project in Solution Explorer, select Project Properties, click on the Deployment tab, and then enter the name of the server.

请启动SQL server Analysis Service服务,并设置项目属性中的Deployment中的Server属性为实际的SQL Server实例名。













(二)修改维度

维度创建完成后,需要修改,步骤如下:

选择“product”维度,右键,“View Designer”









在友好智能提示的再三劝诫下,我们还是从了她的心愿吧!







注意:你可以隐藏一个属性层次,但实际上,它还是存在的,意识到这点的用户可以写MDX查询和恢复(retrieve)层次成员。

隐藏步骤如下:



对Category和Product和Subcategory分别设置不可见。

重新部署项目,并Reconnection。

















(三)创建时间维度

有了前面的基础,再新建一个时间维度就比较容易了。





修改这些属性:







注意:创建完成后,我们再来调整属性。



按照上图,修改如下属性的 NameColumn值:





修改属性关联:





部署项目,欣赏下我们的劳动成果!



因为年有重复,我们修改Month Name列:





此时,去除年份,按月份的字母排列,而不是按月份从小到大排列,需要再次修正。步骤如下:









(四)创建父子维度

父子关系(Parent-Child)是常见的一种关联关系。一种特殊的父子关系是自关联。假定一个Employee表的ParentEmployeeKey对应某个Employee的上司,而主键是EmployeeKey。当然,这只是一个简单模型,实际上一个Employee不会只属于一个上司。









注意:系统自动设置如下属性:





修改排序,且排序字段不可见:





最后一个问题:如果统计重复,如下:



处理办法:



效果如下:



当然,也可以创建一个命名模板。



还有一个基本概念:



注意:属性设置“IsAggregatable”默认为true,意味着一个属性的单个成员也会被分组统计到一个All组,即有一个总上级,若改为False,将移去All。



而设置为False时。必须同时设置默认成员:





繁忙的学习结束了!感谢耐心看完!

小结:本文介绍了三种重要的维度创建方法:标准维度、时间维度和父子维度。相信大家手动作一遍,对维度会有一个比较初步的了解。请记住:在创建维度前先熟悉源数据表。下文将一起体验下Cube的创建过程。

附: SQL Server Analysis Services 官方教程(http://technet.microsoft.com/zh-cn/library/ms170208.aspx
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐