易截截图软件、单文件、免安装、纯绿色、仅160KB

建立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字段类型说明

 
bit:0或1的整型数字
int:从-2^31(-2,147,483,648)到2^31(2,147,483,647)的整型数字
smallint:从-2^15(-32,768)到2^15(32,767)的整型数字
tinyint:从0到255的整型数字

decimal:从-10^38到10^38-1的定精度与有效位数的数字
numeric:decimal的同义词

money:从-2^63(-922,337,203,685,477.580 ......

ASP.NET和SQL SERVER中使用事务示例

1,SqlServer存储过程的事务处理
一种比较通用的出错处理的模式大概如下:
Create procdure prInsertProducts
(
 @intProductId int,
 @chvProductName varchar(30),
 @intProductCount int
)
AS
Declare @intErrorCode int
Select @intErrorCode=@@Error
Begin transaction
 if @intError ......

一条SQL删除所有表中数据

         由于处于系统开发的后期,需要给客户演示。发现大量的表,存在大量的测试数据。需要清除,用“delete from tablename” -->  晕死。后来发现居然有这么强大的东东。 :)
 EXECUTE sp_msforeachtable 'delete from ?' ......

sql update 用法

将b表中caller列的值插入a表中call列中。
 create table a
(
 fid int,
 call varchar(20),
 age int
)
create table b
(
 fid int,
 caller varchar(20),
 parentId int
)
select * from a
select * from b
insert into a values(1,null,19)
insert into a values(2,n ......

MS Sql Server 2005 分区表有点麻烦


ALTER DATABASE AdventureWorks ADD FILEGROUP [2003Q3]

创建文件组后,使用 ALTER DATABASE 将文件添加到该文件组中。
ALTER DATABASE AdventureWorks
ADD FILE
(NAME = N'2003Q3',
FILENAME = N'C:\AdventureWorks\2003Q3.ndf',
SIZE = 5MB,
MAXSIZE = 100MB,
FILEGROWTH = 5MB)
TO FILEGR ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号