王淑蓉,趙穎
(西安工業大學計算機科學與工程學院,陜西西安710032)
為實現對在校銷售中產生海量數據的多維分析,想要利用數據倉庫的信息資源,必須有強大的工具對數據倉庫中的信息進行分析決策。而OLAP具有靈活的分析功能、直觀的數據操作和分析結果可視化表示等突出優點,從而使用戶對大量復雜數據的分析變得輕松而高效,以利于迅速作出正確的判斷,輔助決策。由此OLAP分析結果的可視化過盡可能多的形式將數據信息展現出,以達到是決策者通過直觀的表現方式迅速獲得信息中蘊含的知識。
服務器,即第1層建立數據倉庫實現與關系數據庫的數據交換,第2層為OLAP服務器,它利用數據倉庫存儲的數據創建多維數據模型,第三層通過Web瀏覽器向OLAP服務器提出數據請求,OLAP服務器將請求結果返回給Web瀏覽器實現前端OLAP查詢分析和數據展現。文章應用第2種方式進行多維分析的展現。
本系統基于在線銷售,在企業的日常銷售中,存在著大量的銷售記錄,通過建立數據倉庫,針對企業銷售中的“在線銷售”主題—Internet Sales,通過多維分析展現技術,對企業的在線銷售提供輔助支持。
隨著市場對數據倉庫需求量增大,數據倉庫的產品也越來越成熟。聯機分析處理技術以數據倉庫提供的海量數據做為復雜分析處理的基礎,它可以提供不同維度、不同層次,高效靈活地復雜查詢處理,為決策人員進行多維分析提供決策依據,并將多維度的查詢分析處理結果通過靈活直觀的形式展現?,F如今單純實現一個多維分析展現系統有3種方式[1]:
1)利用OLAP分析軟件直接與底層數據庫直接交互,通過OLAP軟件實現數據的查詢分析;2)通過建立數據倉庫與底層關系數據庫交互,通過OLAP軟件完成多維數據分析展現;3)方式是在客戶端與服務器之間增加一個多維數據分析
為了實施OLAP,使用統一維度模型(UDM)設計,以及由下至上的方法添加OLAP的功能。UDM設計能夠通過統一的結構直接訪問多個異類數據源,并對查詢、數據和元數據統一使用傳輸方法。在由下至上方法中,以數據源開始,然后根據數據源構架創建數據源視圖,接著再創建基于數據源視圖的Analysis Services維度和多維數據集。為Analysis Services數據庫指定一個或多個數據源,可以為維度、多維數據集、挖掘模型和其他Analysis Services對象提供數據[2-3]。
創建數據源時,可以通過兩種方式新建數據源。一種是“基于現有連接或新連接創建數據源”,可以通過選擇現有數據源從現有數據源中復制連接字符串;另一種是“基于另一個對象創建數據源”可以引用現有數據源或Analysis Services項目。本系統應用“基于現有連接或新連接創建數據源”。
數據源視圖是描述基礎數據源架構的對象,它提供一組已命名的、可瀏覽的、持久化數據庫對象。通過描述數據源中的表或視圖的子集,數據源視圖可以提供多維數據集或維度所需的表。數據源視圖處理表的布局、篩選器、SQL表達式、關系以及架構的其他復雜性。因此,數據源視圖通過Analysis Services多維數據集、維度和挖掘模型,可以對數據源視圖中的表和列進行簡單綁定。可以在一個數據源中生成多個數據源視圖,并可以分別構建每個數據源視圖,以滿足不同的多維數據集、維度或其他對象的要求。一個簡單數據源視圖支持多個關系圖,這些關系圖顯示該數據源視圖的不同子集。有時,還可以使用單獨的關系圖來處理屬于特定對象的數據源視圖的各個部分。與不同的數據源視圖不同,不同的關系圖引用相同的架構。因此,在關系圖中所做的任何更改都會應用到數據源視圖中的所有其他關系圖中。為本系統創建的數據源視圖如圖1所示。

圖1 在線銷售系統的數據源視圖Fig.1 Data source view of the online sales system
多維數據集是包含維度和度量值的多維結構。維度定義多維數據集的結構,而度量值提供最終用戶感興趣的數值。創建多維數據集同樣有兩種方式,一種是“使用數據源生成多維數據集”,一種是“不使用數據源生成多維數據集”。使用“數據源生成多維數據集”時將遵循步驟:選擇數據源視圖→標識事實數據表和維度表→定義時間段→選擇維度→選擇度量值,之后將完成多維數據集的創建。而“不使用數據源生成多維數據集”時將遵循步驟:選擇維度→定義新度量值→定義新的維度→定義時間段→定義維度用法,則完成多維數據集的創建。本系統應用“使用數據源生成多維數據集”。
“在線銷售”主題主要有一個事實表,4個維度表構成。事實表用來存儲事實的度量值,維度表用來保存該維的元數據,即維的表述信息,包括維的層析及成員類別等。事實表通過每一個維的值和維表聯系在一起的。本系統中事實表InternetSales包括銷售序列號、銷售產品類別號、客戶關鍵字以及地域關鍵字等;Customer維度表包括客戶關鍵字、地域關鍵字、客戶姓名以及客戶出生日期等的客戶信息;Geography維度表、Time維度表和Product維度表。在線銷售系統的事實表和維度表如圖2所示。

圖2 在線銷售系統的事實表和維度表Fig.2 Fact table and dimension table of Online sales
在在線銷售數據分析過程中,用戶希望從多個角度觀察某一指標或多個指標的值,并且找出這些指標之間的關系,比如用戶想知道“同一產品在三月份和六月份銷售額的情況對比”,這就需要對該類產品在“時間”維度上分析,通過比較統一產品不同銷售時間的銷售額情況,及時掌握市場的銷售信息,做出對企業有利的產品銷售預測以及指定正確的銷售方案[4]。
利用Analysis Manager,用戶不僅在圖形界面下建立多維數據集,還可以直接用它的瀏覽功能查看分析數據。進行分析展現時,Analysis Services工具以樹型結構顯示選定Cube的元數據。每個Cube都有一個特殊的惟—Measure,這個維的成員都是度量值,提供最終用戶感興趣的數據。用戶可以選定元數據并拖到數據匯總區域,實現數據的多維顯示。本系統中度量值包括折銷售總額、扣銷售總額、貨物存儲量、納稅額以及訂購數量等等。
在樹型結構的元數據中,除存儲著可以進行匯總數據的所有的度量值以外,其余的則是表示可以從不同的維度對需要匯總的數據進行度量的相關屬性。顯示從不同的角度對數據進行度量包括客戶維度、產品維度以及時間維度,盡管在據庫級別只創建了4個維度,但在Analysis Services Tutorial多維數據集中卻有6個多維數據集維度。該多維數據集包含的維度比數據庫多,其原因是,根據事實數據表中與時間相關的不同事實數據,“時間”數據庫維度被用作3個與時間相關的單獨多維數據集維度的基礎。這些與時間相關的維度也稱為“角色扮演維度”。使用3個與時間相關的多維數據集維度,用戶可以按照下列3個與每個產品銷售相關的單獨事實數據在多維數據集中組織維度:產品訂單日期、履行訂單的到期日期和訂單發貨日期。
為了具體了解多維數據集中的詳細數據,方便用戶的分析,用戶可以提交對數據的各種多維的分析請求,如上卷、下鉆、切片、切塊、旋轉等操作[5-6]。比如,在現有現有所有產品各地區銷售的情況下,用戶需要了解各類產品的銷售情況,此時需要采取在“產品”維度上的下鉆操作,反之逆操作則為上卷操作。如圖3中的第一列表示需要對哪些地區的數據進行操作,此數據來自Dim Customer的相關屬性中;第二列顯示所要獲得的數據—度量值,來自Measures的Fact Internet Sales的相關屬性中。

圖3 法國各地區在線銷售總額Fig.3 Total sales of the French
圖4所示是對所有的各類產品的銷售額進行匯總,也可以根據需要只顯示部分類別的產品銷售記錄,只需在“product Line”中選擇需要展示的類別。

圖4 法國地區各類產品在線銷售額Fig.4 Total online sales of various products of the French
通過在線銷售系統中在線銷售數據的分析,結合實際的在線銷售業務,建立以在線銷售為主題的事實表和相關的維度表,利用SQL Server 2005提供的商業智能工具SSIS(SQL Server Integration Services)對數據源中的數據進行數據抽取、轉換病裝載到多維分析數據倉庫中。利用SSAS(SQL Server Analysis Services)建立數據源、數據源視圖以及多維數據集,并利用分析展現工具將分析數據以靈活的形式展現,直觀清晰地實現對企業銷售狀況的查詢分析。
[1] 于秀梅.數據倉庫的多位分析展現技術[D].北京:北方工業大學,2012.
[2] Mundy J,Thornthwaite W,Kimball R.數據倉庫工具箱[M].北京:清華大學出版社,2007.
[3] 徐俊剛,裴瑩.數據ETL研究綜述[J].計算機科學,2011(4):15-18.XU Jun-gang,PEI Ying.Overview of data extraction,transformation and loading[J].Computer Science,2001(4):15-18.
[4] 李雅莉.決策支持系統中OLAP的設計與實現[J].寶雞文理學院學報:自然科學版,2009(6):67-71.LI Ya-li.OLAP design and realization in decision support system[J].Journal of Baoji University of Arts and Sciences:Natural Science,2009(6):67-71.
[5] 王武習.基于數據倉庫的高校就業信息管理OLAP系統設計[J].軟件導刊,2010(1):157-158.WANG Wu-xi.Employment information management system design of colleges and universities based on data warehouse OLAP[J].Software Guide,2010(1):157-158.
[6] 鄭丹青.基于OLAP技術的醫療信息多維數據設計與分析[J].吉林師范大學學報:自然科學版,2011(8):56-58.ZHENGDan-qing.OLAP-based designand analysisofmultidimensional medical information data sets[J].Journal of Jilin Normal University:Natural Science Edition,2011(8):56-58.