這幾天用了一下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 columns,
{[圖書分銷 訂單].[層次結構].[單位].[安徽大學???? 圖書館].Children} on rows
from [圖書館統計]
其實也不是很難哦
凡是有該標志的文章,都是該blog博主Caoer(草兒)原創,凡是索引、收藏
、轉載請注明來處和原文作者。非常感謝。