



下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第 41 卷第 6 期廈門大 學學報( 自然科學版)Vol. 41 No. 62002 年 11 月Journal of Xiamen University ( Natural Science)Nov. 2002文章編號: 0438 0479( 2002) 06 0697 04數據倉庫的多維數據分析器設計與實現段江嬌, 薛永生, 令狐榮珊( 廈門大 學計算機科學系, 福建 廈門 361005)摘要: 實現多維數據分 析是數據倉庫系統需要具備的一 個主要 功能, 它接受 用戶的 多維數 據查詢 請求, 生成多 維數據集, 為建立數據挖掘模型提供基礎數據. 本文討論了基于 Microsoft SQ
2、L Server 2000 的多維數 據分析器的 實現. 簡要介紹了多維數據分析的基本原理, 并在 DSO、ADO MD 及 MDX( 多維數據表達式) 等技術的基礎上, 構造 了一個多 維數據分析器. 最后, 給出了多維分析器的實現實例.關鍵詞: 數據倉庫; OLAP; 多維數據集; 多維分析中圖分類號: TP 311. 131聯機分析處理 OLAP ( On_Line Analytical Processing) 是數據倉庫技術的一個重要組成部分. OLAP 技術是通過 OLAP 服務器, 將數據倉庫的數據 抽取和轉換為多維數據結構, 以反映用戶所能理解的企業的真實的 維 , 然后通過多維
3、分析工具對信息的多個角度、多個側面, 進行快速、一致和交互的存取, 從而使分析人員、經理和管理人員能夠對數據進行深文獻標識碼: A多維分析對多維 形式組織起來的數據采取切 1終用戶能從多個角度、多側面地觀察數據庫中的數據. 在進行多維分析時, 分析的目標數據稱為事實數據, 如銷售量、銷售額等. 這些數據日積月累, 數量龐大. 事實數據的屬性稱為 維 , 如銷售的時間、客戶、產品、地區等. 它們的內容一般變化不大, 數量也相入的分析和觀察 1. 其中, 數據抽取和轉換工具將數2據按照一定的要求, 導入到多維數據倉庫中, 數據倉庫的使用者通過前端訪問和分析工具, 對多維數據分析產生的數據集按照一定
4、的方式進行顯示輸出.而多維數據分析, 則根據前端工具輸入的數據查詢日 月 年 這三個層次, 地區維可以具有 城市 省地區 三個層次. 在數據倉庫中維可以具有不同的粒度級, 例如, 年 對應于高粒度級, 日 對應于低粒度級.請求獲取數據, 并生成一定格式的數據集. 3,4: 多維 OLAP上述多維數據分析過程是由多維數據分析器操作而成, 本文著重討論基于 Microsoft SQL Server 2000的多維數據分 析器的設 計以及基 于 DSO、ADO MD及 MDX( 多維數據表達式) 等技術的實現方法.( MOLAP) 、關系 OLAP ( ROLAP ) 和混合 OLAP ( HOLA
5、P) .本文中所討論的多維數據分析是基于ROLAP,在 ROLAP 體系結構中, 數據的組織方式分為星形模1多維數據分析的基本原理 1, 5都劃分為兩類表: 一類是事實( fact) 表, 用來存儲事聯機分析處理 OLAP 是對數據的一系列交互查詢過程, 這些查詢過程要求對數據進行多層次、多階段的分析處理, 在 OLAP 中, 多維數據集( cube) 是分析的基本單位. 一個多維數據集代表了一個特殊的可查詢區域, 是由一定數目的維度和度量結合而成的整體存儲單位.收稿日期: 2002 05 13作者簡介: 段江嬌( 1972- ) , 女, 講 師.實的度量( measure) 值及各個維的碼
6、值; 另一類表是維表, 即維 的描述信息, 包括維的層次 及成員類別等. 基于關系數據庫的 OLAP 的維表和事實表都是用二維關系表的方式存放的.進行多維數據分析的幾個基本步驟如下: 1) 創建一個分析服務數據庫, 并指定該數據庫的數據源;2) 創建多維數據集, 創建事實表、維度表, 定義度量的數據列, 并根據業務要求, 設定維度的粒度;3) 選擇存儲方式: MOLAP, ROLAP 或 HOLAP;4) 處理多維數據集, 創建多維數據集的聚合.片、切塊、旋轉等各種分析動作 , 以求剖析數據, 最對小. 維通常是有層次的 , 例如, 時間維可以具有多維數據集的存儲模式有三種型和雪花模型. 星形
7、模型和雪花模型的多維結構! 698 !廈門大學學報( 自然科學版)2002 年本文所描述的多維數據分析器即是實現以上步驟的一個集成器.2基于 SQL Server 2000 的多維數據分析器實現的關鍵技術2. 1 SQL Server 2000 對多維數據分析開發的支持Microsoft SQL Server 2000 提供了相關的數據倉3應 用 程 序. 多 維 表 達 式 MDX ( Multi dimensionalExpress) 支持對多維數據集的操作. ADO MD 是 ADO的擴 展, 它 允 許 基于 COM 的 應 用 程序 通 過 用 于OLAP 的 OLE DB 接口實現
8、對多維數據源的操作. 包括在 OLAP 數據庫中對多維數據集層次結構的只讀圖 1基本的 DSO 對象模型訪問; 查詢處理和數據檢索功能. DSO( Decision Support Object , 決策支持對象) 提供了對 OLAP 數據庫的管理能力. 基本的 DSO 對象模型如圖 1 所示.本文所討論的多維分析器在實現時具體要用到的技術:1) 利用 DSO 對象模型訪問分析服務器, 提供有關分析服務器中多維數據庫和多維數據集的信息;2) 利用 ADO MD 對象模型對 OLAP 數據庫中多維數據集層次結構的只讀訪問;3) 利用 ADO MD 對象模型對 OLAP 數據庫中的多維數據進行查詢
9、處理和數據檢索, 支持 MDX 語句的執行以及對結果數據集的分析;4) 程序內部動態生成 MDX 查詢語句, 對多維Fig. 1 Model for basic DSO己選擇分析服務的提供者、分析服務器的位置、以及多維數據庫和多維數據集. 同時系統也將本地多維數據集列表顯示, 用戶可直接選擇一個多維數據集作為多維數據分析的數據源.在多維分析模塊中, 通過 ADO MD 對象模型和PivotTable Service 提供的服務, 訪問多維數據 集. 列表顯示出多維數據集的所有維度和度量值. 由用戶自己選擇數據顯示的維度和度量值, 根據用戶選擇的維度和度量值, 構造 MDX 查詢語句進行多維查詢
10、分析, 利用 ADO MD 對象模型的 Cellset 對象存儲多維分析結果, 最后顯示多維數據, 供用戶查看數據.數據集中的數據進行查詢, 根據用戶選擇的行維和2. 3創建分析服務數據庫列維, 對數據進行多維分析, 并平面化的顯示多維分析結果.通過 Visual Basic 開發工具與 SQL Server 密切結合, 可以通過訪問其基本的 DSO 對象而實現對 SQLServer 的二次開發.在 Server 對象的 MDStores 集合上調 用 AddNew方法創建分析服務數據庫. 語法形式如下:dsoServer.MDStores. AddNew 數據庫名調用 DataSources
11、 集 合的 AddNew 方法, 添 加包括連接字符串在內的相關屬性, 為分析數據庫指定2. 2多維分析器的設計一個新的數據源, 如下:多維分析器的功能結構如圖 2 所示. 本系統主要是在分析服務器和數據透視表服務的基礎上, 對多維數據集當中的數據進行多維分析. 本系統提供一個由用戶自己選擇數據源的向導: 可以由用戶自Dim dsoDataSrc As DSO. DataSourceSet dsoDataSrc = dsoDb. Datasources. AddNew ( 服務器名+數據庫名)DsoDataSrc. ConnectionString = Provider = SQLOLEDB.
12、 1;& Data Source= 服務器名; Initial Catalog= 數據庫名; & Integrated Security = SSPI庫開發技術 , 使得用戶可以根據需要開發自己的第 6 期段江嬌等: 數據倉庫的多維數據 分析器設計與實現表 2 多維數據集處理常量Tab. 2Process constant of MD set! 699 !常量含義ProcessBuildStructureProcessDefaultProcessFullProcessReaggregate建立 多 維 數 據 集 結 構,但不產生數據多維數據集 已存 在則 刷新數據否則完全處理
13、它從頭開始重 新建 立多 維數據集重 新 建 立 所 有 MOLAP分區圖 2 多維數據分析器的功能結構Fig. 2 Structure of MD analyzerProcessRefreshDataProcessRefreshDataAndIndex只刷新數據刷新數據并 重新 建立 分2. 4創建分析服務多維數據庫區索引在 Database. MDStores 集合上創建多維數據集:創建 一 個 多 維 數 據 集 名: Set dsoCube = dsoDb.3實現范例MDStores. AddNew;設置多 維數 據集 的 數據 源: dsoCube. DataSources.AddN
14、ew dsoDb. DataSources( 數據源名) . Name;指定事實表: dsoCube. SourceTable = 事實表名在多 維數 據 集 中增 加 維 度: dsoCube. Dimensions.AddNew 維度名在多維數據集中創建度量, 首先需要指定度量在源數據庫中的位置、類型和大小; 其次, 需要指出度量怎樣被聚合. 6分析和顯示為例來說明:3. 1 對數據進行多維分析1) 創建一個新的 Cellset 對象, 設置 Cellset 對象的 Activeconnect ion 為一個現有的 ADO MD 對象模型中的 Catalag 對象的 Act iveConn
15、ection 屬性Dim cst As New ADOMD. CellsetSet cst. ActiveConnection = CreatGridForm. cat. ActiveConnection2. 5選擇存儲方式2) 動態構造 MDX 查詢語句, 為 Cellset 設置數在 Server 對象的 MDStores 集合上設置 OlapMode屬性.dsoServer. MDStores. ( 數 據 庫 名) . OlapMode =, 表 1 列出了可選的存儲模式:據源屬性cst. Source = MDXSource. Text3) 在 Cellset 對象上調用 Open
16、方法, 來執行查詢, 進行多維分析表 1 多維數據集的存儲模式Tab. 1 The store mode of MD set3. 2cst. open利用 MSHFlexgrid 控件顯示多維數據存儲模式OlapmodeMolapIndexOlapmodeRolapOlapmodeHybridIndex解 釋多維 OLAP關系 OLAP混合 OLAP利 用 MSHFlexgrid 控 件 顯 示 多 維 數 據, 由 于ADO MD 模型的 Cellset 對象不能直接作為它的數據源, 所以需要 在程序中將 ADO MD 模型中的 Cellset的維度和多維 分析的結果通過賦值的 方式拷貝到M
17、SHFlexgrid 的相應維度軸上和數據單元中去.2. 6處理多維數據集這個方法對多維數據集處理進行了初始化, 包With MSHFlexGrid1. Cols = cst. Axes( 0) . Positions. Count + CreatGridForm.RowList.L istCount括所有成員或設計聚合的計算. 可以通過向 Process方法指定一個可選參數來選擇多維數據集的處理方式. 常見多維數據集處理常量如表 2. Rows = cst. Axes( 1) . Positions. Count + 1 + CreatGridForm. ColumnList. ListCo
18、unt. FixedCols = CreatGridForm. RowList. ListCount下面使用 VisualBasic 編程語言 以數據的多維! 700 !廈門大學學報( 自然科學版)2002 年. FixedRows = CreatGridForm. ColumnList. ListCount# 設置多維數據分析結果顯示的列維For m = 0 To CreatGridForm. ColumnList. ListCount - 1End WithNext intRowNext intCol. TextMatrix ( 0, m +. FixedCols ) =CreatGrid
19、Form.ColumnList. List( m)4結束語Next mFor m = 0 To CreatGridForm. ColumnList. ListCount - 1For intCol = 0 To cst. Axes( 0) . Positions. Count - 1.T extM atrix( m + 1, intCol + . FixedCols) = cst. Axes( 0) .Positions( intCol) . Members( m) . CaptionNext intCol一個數據倉庫的應用系統必須實現多維數據分析, 因為它接受用戶的多維數據查詢請求, 生成多
20、維數據集, 為建立數據挖掘模型提供基礎數據. 本文討論了基于 Microsoft SQL Server 2000 的多維數據分析器的實現, 簡要介紹了多維數據分析的基本原理,Next m# 設置多維數據分析結果顯示的行維并在 DSO、ADO MD 及 MDX( 多維數據表達式) 等技For m = 0 To CreatGridForm. RowList. ListCount - 1術的基礎上, 構造了一個多維數據分析器. 本文描述( m).T extM atrix( . FixedRows, m) = CreatGridForm. RowList. ListNext mFor intRow =
21、 0 To cst. Axes( 1) . Positions. Count - 1For m = 0 To CreatGridForm. RowList. ListCount - 1的實現方式能被嵌入到其他的應用程序中, 以實現整個數據倉庫應用的集成, 減少非專業用戶使用管理工具的復雜性.參考文獻:.TextMatrix( intRow + . FixedRows + 1, m) = cst. Axes( 1) . Positions( intRow) . Members( m) . CaptionNext mNext intRowEnd With# 將 ADO MD 中的 Cellset
22、對象存儲的多維數據分析結果通過 MSHFlexgrid 平面化顯示For intCol = 0 To cst. Axes( 0) . Positions. Count - 1For intRow= 0 To cst. Axes( 1) . Positions. Count- 1With MSHFlexGrid1. Col = intCol + . FixedCols 1 2 3 4 5王 珊. 數據倉庫技術與聯機分析處理 M . 北京: 科學出版社, 1998.宋擒豹, 楊向榮, 沈鈞毅. 數據倉庫技術研究 J . 計 算機工程, 2002, 28( 1) : 125- 127. 美 Mike
23、Gunderloy T im Sneath, 張 偉, 宋 霞. SQL Server開發指南 OLAP( 聯機 分析 處理) M . 北 京: 電子 工業出版社, 2001.Wo Shun Luk. ADODA: A desktop online data analyzer.Proc. of 7t h International Conference on DASFAA. CA: IEEEComputer Society C . 2001. 134- 141.沈 兆陽. SQL Server 2000 OLAP 解決 方案 數 據倉 庫 與Analysis Services M . 北京: 清 華大學出版社, 2001. Row = intRow + . FixedRows + 1.T ext = cst( intCol, in
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 鴻合觸控一體機培訓材料
- 蒙氏基礎理論培訓
- 2025勞動合同 試用期規定
- 2025建筑工程施工合同協議書樣本
- 2025更新勞動合同意向書
- 2025美容院承包合同模板
- 2025年采購銷售合同
- 2025建筑項目施工合同(對內)工程建筑施工合同
- 2025融資中介合同 融資中介服務協議(詳細版)
- 部編人教版七年級道法下冊 三年(2022-2024)中考真題分類匯編-道法:專題01 青春時光
- 2025年四川長寧縣國恒資本控股集團有限公司招聘筆試參考題庫附帶答案詳解
- 2024年蕪湖城市園林集團股份有限公司招聘筆試真題
- 國開2025年《會計政策判斷與選擇》形考任務1-9答案
- 京瓷哲學學習與應用課件
- 2025年全國普通話水平測試15套復習題庫及答案
- 2024年天津醫科大學眼科醫院自主招聘考試真題
- 土木工程畢業論文-居民住宅樓的施工組織方案設計
- 2025年河南對外經濟貿易職業學院單招職業適應性測試題庫新版
- 組織內的有效溝通報聯商
- 2025年肺心病的護理試題及答案
- 撒哈拉以南非洲(第2課時)課件-2024~2025學年人教版初中地理七年級下冊
評論
0/150
提交評論