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)
本文末尾提供两个项目源码: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)
相关文章推荐
- java学习笔记------ PrintStream_都市游侠_新浪博客 http://blog.sina.com.cn/s/blog_6c1fe98c01012lcu.html
- 《Microsoft SQL Server 2008 Analysis Services Step by Step》学习笔记一:入门[blog.sina.com.cn--川北小哥]
- 强类型DataSet (2011-12-30 23:16:59)转载▼ 标签: 杂谈 分类: Asp.Net练习笔记 http://blog.sina.com.cn/s/blog_9d90c4140101214w.html
- 2强类型DataSet (2011-12-30 23:16:59)转载▼ 标签: 杂谈 分类: Asp.Net练习笔记 http://blog.sina.com.cn/s/blog_9d90c4140101214w.html
- ldap安装与学习(转载自:http://blog.sina.com.cn/s/blog_72ee04a40100p0ce.html)
- JAVA学习方向(原文:http://blog.sina.com.cn/s/blog_9671d5180101lj4q.html)
- http://blog.sina.com.cn/s/blog_7351c0700100unrb.html
- iOS UIAppearance使用详解(来自http://blog.sina.com.cn/s/blog_9693f61a0101f1rs.html)
- 移动时代的信息需求(原文链接http://blog.sina.com.cn/s/blog_593af2a70101ac1k.html)
- sql server分配某个用户只对某一个数据库有权限 转载 http://blog.sina.com.cn/s/blog_13554ebc70102wi3h.html
- http://blog.sina.com.cn/s/blog_7f5ad8c20101cnna.html#commonComment
- 我在新浪的博客: http://blog.sina.com.cn/s/blog_647b28740100hq90.html 给你好看哦!!!
- Java的基本I/O(输入/输出)系统copy from (http://blog.sina.com.cn/s/blog_5ec67df20100d6ao.html)
- android 简析自定义布局、布局的执行流程(转载http://blog.sina.com.cn/s/blog_74c22b210100vfun.html)
- 坐标系变换公式(转http://blog.sina.com.cn/s/blog_3fd642cf0101cc8w.html)
- 使用VAssistX为VS2008 c++代码添加函数头注释http://blog.sina.com.cn/s/blog_4aff4b970101bfqs.html
- GnuDIP制作动态域名服务器(DDNS Server)_转载http://blog.sina.com.cn/s/blog_4d4c23530100rlfj.html
- 背景颜色渐变 css3 ---- 转自:至尊宝的BLOG http://blog.sina.com.cn/zzbnie
- CMake安装和使用 http://blog.sina.com.cn/s/blog_5aee9eaf0100y36u.html
- 再转帖个OpenLayers 入门级(来自http://blog.sina.com.cn/s/blog_3dbf03df01008uu3.html)