建立Microsoft SQL Server 2005数据仓库

这几天用了一下Microsoft SQL Server 200的分析服务,贴出来给大家分享一下。
请多多指正。谢谢。

一、需求:
建立一个图书订单统计系统
1、统计各个图书馆订单数量。
2、统计各个图书馆订单的各个状态的数量占该图书馆的订单数量的百分比。
3、同时统计原始数量和储运数量
二、数据表
主要的字段
订单ID
单位号(图书馆编号)
单位(图书馆名称)
原始数量
储运数量
最新状态(该订单当前状态)
三、实现:
1、打开Visual Studio 2005 新建项目,选择Analysis Services项目,
建立Microsoft SQL Server 2005数据仓库
选择数据源文件夹,新建数据源:
建立Microsoft SQL Server 2005数据仓库
新建数据源向导启动:
建立Microsoft SQL Server 2005数据仓库
点击上图新建出现连接配置对话框
建立Microsoft SQL Server 2005数据仓库
配置方法和链接数据库的配置方法相同。
建立Microsoft SQL Server 2005数据仓库
配置连接数据源的帐号,以后就是一路下一步:)
建立Microsoft SQL Server 2005数据仓库
选择数据源视图文件夹,新建一个数据源视图
建立Microsoft SQL Server 2005数据仓库
选择含有统计数据的表,以后就是一路下一步:)
建立Microsoft SQL Server 2005数据仓库
选择多维数据集文件夹,新建多维数据集也就是一个Cube
建立Microsoft SQL Server 2005数据仓库
设置事实表和维度表
建立Microsoft SQL Server 2005数据仓库
选择度量值,也就是如果是SQL就是需要count,sum等要统计的数据
建立Microsoft SQL Server 2005数据仓库

   取消所有选项,然后选择维度也就是SQL里面GROUP by的字段(这里我选择了“最新状态”和“单位”)
建立Microsoft SQL Server 2005数据仓库
选择如上,这个不是最终结果,后面还要手工编辑。,以后就是一路下一步:)
建立Microsoft SQL Server 2005数据仓库

通过浏览打开编辑维度。
建立Microsoft SQL Server 2005数据仓库
建立一个层次结构,单位在上,状态在下。

建立Microsoft SQL Server 2005数据仓库

把“图书分销 订单 计数”重名名为“订单数量”

建立Microsoft SQL Server 2005数据仓库

修改后如上图


建立Microsoft SQL Server 2005数据仓库
切换到浏览器,拖放单位到行位置。
建立Microsoft SQL Server 2005数据仓库
再拖放最新状态到行,最终效果如下。

建立Microsoft SQL Server 2005数据仓库
拖放显示的数据,也就是明细

建立Microsoft SQL Server 2005数据仓库
拖放完毕效果
建立Microsoft SQL Server 2005数据仓库
设置显示为百分比
建立Microsoft SQL Server 2005数据仓库
最终效果
建立Microsoft SQL Server 2005数据仓库
打开Microsoft SQL Server 2005 的SQL Server Management Studio连接到分析服务
建立Microsoft SQL Server 2005数据仓库
新建查询,查询结果如图
查询语句如下:
with
set [AllCount] as '[图书分销 订单].[层次结构].[单位].[安徽大学      图书馆].Children'
Member [图书分销 订单].[层次结构].[单位].[安徽大学      图书馆].[合计] as 'aggregate([AllCount])'
Member [所占订单数百分比] as '[订单数量]/([订单数量],[图书分销 订单].[层次结构].[单位].[安徽大学      图书馆].[合计])',format_string='#.00%'
select {[Measures].[订单数量],[Measures].[储运数量],[Measures].[原始数量],[所占订单数百分比]} on columns,
{[图书分销 订单].[层次结构].[单位].[安徽大学      图书馆].Children} on rows
from [图书馆统计]

其实也不是很难哦