建立Microsoft SQL Server 2005数据仓库
这几天用了一下Microsoft SQL Server 200的分析服务,贴出来给大家分享一下。
请多多指正。谢谢。
一、需求:
建立一个图书订单统计系统
1、统计各个图书馆订单数量。
2、统计各个图书馆订单的各个状态的数量占该图书馆的订单数量的百分比。
3、同时统计原始数量和储运数量
二、数据表
主要的字段
订单ID
单位号(图书馆编号)
单位(图书馆名称)
原始数量
储运数量
最新状态(该订单当前状态)
三、实现:
1、打开Visual Studio 2005 新建项目,选择Analysis Services项目,
选择数据源文件夹,新建数据源:
新建数据源向导启动:
点击上图新建出现连接配置对话框
配置方法和链接数据库的配置方法相同。
配置连接数据源的帐号,以后就是一路下一步:)
选择数据源视图文件夹,新建一个数据源视图
选择含有统计数据的表,以后就是一路下一步:)
选择多维数据集文件夹,新建多维数据集也就是一个Cube
设置事实表和维度表
选择度量值,也就是如果是SQL就是需要count,sum等要统计的数据
取消所有选项,然后选择维度也就是SQL里面GROUP by的字段(这里我选择了“最新状态”和“单位”)
选择如上,这个不是最终结果,后面还要手工编辑。,以后就是一路下一步:)
通过浏览打开编辑维度。
建立一个层次结构,单位在上,状态在下。
把“图书分销 订单 计数”重名名为“订单数量”
修改后如上图
切换到浏览器,拖放单位到行位置。
再拖放最新状态到行,最终效果如下。
拖放显示的数据,也就是明细
拖放完毕效果
设置显示为百分比
最终效果
打开Microsoft SQL Server 2005 的SQL Server Management Studio连接到分析服务
新建查询,查询结果如图
查询语句如下:
with
set [AllCount] as '[图书分销 订单].[层次结构].[单位].[安徽大学 图书馆].Children'
Member [图书分销 订单].[层次结构].[单位].[安徽大学 图书馆].[合计] as 'aggregate([AllCount])'
Member [所占订单数百分比] as '[订单数量]/([订单数量],[图书分销 订单].[层次结构].[单位].[安徽大学 图书馆].[合计])',format_string='#.00%'
select {[Measures].[订单数量],[Measures].[储运数量],[Measures].[原始数量],[所占订单数百分比]} on
相关文档:
sql server分布式事务解决方案
适用环境
操作系统:windows 2003
数据库:sql server 2000/sql server 2005
使用链接服务器进行远程数据库访问的情况
一、 问题现象
在执行分布式事务时,在sql server 2005下收到如下错误:
消息 7391,级别 16,状态 2,过程 xxxxx,第 16 行
无法执行该操作,因为链接服务 ......
在微软的SQL Server系统中通过有效的使用索引可以提高数据库的查询性能,但是性能的提高取决于数据库的实现。在本文中将会告诉你如何实现索引并有效的提高数据库的性能。
在关系型数据库中使用索引能够提高数据库性能,这一点是非常明显的。用的索引越多,从数据库系统中得到数据的速度就越快。然而,需 ......
由于处于系统开发的后期,需要给客户演示。发现大量的表,存在大量的测试数据。需要清除,用“delete from tablename” --> 晕死。后来发现居然有这么强大的东东。 :)
EXECUTE sp_msforeachtable 'delete from ?'
......