现在的位置: 首页 > 综合 > 正文

《Microsoft SQL Server 2008 Analysis Services Step by Step》学习笔记二:Dimensions

2012年06月25日 ⁄ 综合 ⁄ 共 2065字 ⁄ 字号 评论关闭

SQL Server 2008中SQL应用系列及BI笔记系列--目录索引

导读:在上文本创建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

源码下载:

begin

end

数据库下载

抱歉!评论已关闭.