建立Microsoft SQL Server 2005數(shù)據(jù)倉庫
這幾天用了一下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ù)源向?qū)樱狐c擊上圖新建出現(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 rowsfrom [圖書館統(tǒng)計]其實也不是很難哦有時間下次寫在 ASP .NET 2.0里面如何顯示查詢結果。
