這幾天用了一下Microsoft SQL Server 200的分析服務,貼出來給大家分享一下。
請多多指正。謝謝。
一、需求:
建立一個圖書訂單統(tǒng)計系統(tǒng)
1、統(tǒng)計各個圖書館訂單數(shù)量。
2、統(tǒng)計各個圖書館訂單的各個狀態(tài)的數(shù)量占該圖書館的訂單數(shù)量的百分比。
3、同時統(tǒng)計原始數(shù)量和儲運數(shù)量
二、數(shù)據(jù)表
主要的字段
訂單ID
單位號(圖書館編號)
單位(圖書館名稱)
原始數(shù)量
儲運數(shù)量
最新狀態(tài)(該訂單當前狀態(tài))
三、實現(xiàn):
1、打開Visual Studio 2005 新建項目,選擇Analysis Services項目,
選擇數(shù)據(jù)源文件夾,新建數(shù)據(jù)源:
新建數(shù)據(jù)源向導啟動:
點擊上圖新建出現(xiàn)連接配置對話框
配置方法和鏈接數(shù)據(jù)庫的配置方法相同。
配置連接數(shù)據(jù)源的帳號,以后就是一路下一步:)
選擇數(shù)據(jù)源視圖文件夾,新建一個數(shù)據(jù)源視圖
選擇含有統(tǒng)計數(shù)據(jù)的表,以后就是一路下一步:)
選擇多維數(shù)據(jù)集文件夾,新建多維數(shù)據(jù)集也就是一個Cube
設置事實表和維度表
選擇度量值,也就是如果是SQL就是需要count,sum等要統(tǒng)計的數(shù)據(jù)
? 取消所有選項,然后選擇維度也就是SQL里面GROUP by的字段(這里我選擇了“最新狀態(tài)”和“單位”)
選擇如上,這個不是最終結果,后面還要手工編輯。,以后就是一路下一步:)
?通過瀏覽打開編輯維度。
建立一個層次結構,單位在上,狀態(tài)在下。
把“圖書分銷 訂單 計數(shù)”重名名為“訂單數(shù)量”
修改后如上圖
切換到瀏覽器,拖放單位到行位置。
再拖放最新狀態(tài)到行,最終效果如下。
拖放顯示的數(shù)據(jù),也就是明細
拖放完畢效果
設置顯示為百分比
最終效果
打開Microsoft SQL Server 2005 的SQL Server Management Studio連接到分析服務
新建查詢,查詢結果如圖
查詢語句如下:
with
set [AllCount] as '[圖書分銷 訂單].[層次結構].[單位].[安徽大學???? 圖書館].Children'
Member [圖書分銷 訂單].[層次結構].[單位].[安徽大學???? 圖書館].[合計] as 'aggregate([AllCount])'
Member [所占訂單數(shù)百分比] as '[訂單數(shù)量]/([訂單數(shù)量],[圖書分銷 訂單].[層次結構].[單位].[安徽大學???? 圖書館].[合計])',format_string='#.00%'
select {[Measures].[訂單數(shù)量],[Measures].[儲運數(shù)量],[Measures].[原始數(shù)量],[所占訂單數(shù)百分比]} on columns,
{[圖書分銷 訂單].[層次結構].[單位].[安徽大學???? 圖書館].Children} on rows
from [圖書館統(tǒng)計]
其實也不是很難哦
凡是有該標志的文章,都是該blog博主Caoer(草兒)原創(chuàng),凡是索引、收藏
、轉載請注明來處和原文作者。非常感謝。