王淑蓉,趙穎
(西安工業(yè)大學(xué)計算機科學(xué)與工程學(xué)院,陜西西安710032)
為實現(xiàn)對在校銷售中產(chǎn)生海量數(shù)據(jù)的多維分析,想要利用數(shù)據(jù)倉庫的信息資源,必須有強大的工具對數(shù)據(jù)倉庫中的信息進(jìn)行分析決策。而OLAP具有靈活的分析功能、直觀的數(shù)據(jù)操作和分析結(jié)果可視化表示等突出優(yōu)點,從而使用戶對大量復(fù)雜數(shù)據(jù)的分析變得輕松而高效,以利于迅速作出正確的判斷,輔助決策。由此OLAP分析結(jié)果的可視化過盡可能多的形式將數(shù)據(jù)信息展現(xiàn)出,以達(dá)到是決策者通過直觀的表現(xiàn)方式迅速獲得信息中蘊含的知識。
服務(wù)器,即第1層建立數(shù)據(jù)倉庫實現(xiàn)與關(guān)系數(shù)據(jù)庫的數(shù)據(jù)交換,第2層為OLAP服務(wù)器,它利用數(shù)據(jù)倉庫存儲的數(shù)據(jù)創(chuàng)建多維數(shù)據(jù)模型,第三層通過Web瀏覽器向OLAP服務(wù)器提出數(shù)據(jù)請求,OLAP服務(wù)器將請求結(jié)果返回給Web瀏覽器實現(xiàn)前端OLAP查詢分析和數(shù)據(jù)展現(xiàn)。文章應(yīng)用第2種方式進(jìn)行多維分析的展現(xiàn)。
本系統(tǒng)基于在線銷售,在企業(yè)的日常銷售中,存在著大量的銷售記錄,通過建立數(shù)據(jù)倉庫,針對企業(yè)銷售中的“在線銷售”主題—Internet Sales,通過多維分析展現(xiàn)技術(shù),對企業(yè)的在線銷售提供輔助支持。
隨著市場對數(shù)據(jù)倉庫需求量增大,數(shù)據(jù)倉庫的產(chǎn)品也越來越成熟。聯(lián)機分析處理技術(shù)以數(shù)據(jù)倉庫提供的海量數(shù)據(jù)做為復(fù)雜分析處理的基礎(chǔ),它可以提供不同維度、不同層次,高效靈活地復(fù)雜查詢處理,為決策人員進(jìn)行多維分析提供決策依據(jù),并將多維度的查詢分析處理結(jié)果通過靈活直觀的形式展現(xiàn)?,F(xiàn)如今單純實現(xiàn)一個多維分析展現(xiàn)系統(tǒng)有3種方式[1]:
1)利用OLAP分析軟件直接與底層數(shù)據(jù)庫直接交互,通過OLAP軟件實現(xiàn)數(shù)據(jù)的查詢分析;2)通過建立數(shù)據(jù)倉庫與底層關(guān)系數(shù)據(jù)庫交互,通過OLAP軟件完成多維數(shù)據(jù)分析展現(xiàn);3)方式是在客戶端與服務(wù)器之間增加一個多維數(shù)據(jù)分析
為了實施OLAP,使用統(tǒng)一維度模型(UDM)設(shè)計,以及由下至上的方法添加OLAP的功能。UDM設(shè)計能夠通過統(tǒng)一的結(jié)構(gòu)直接訪問多個異類數(shù)據(jù)源,并對查詢、數(shù)據(jù)和元數(shù)據(jù)統(tǒng)一使用傳輸方法。在由下至上方法中,以數(shù)據(jù)源開始,然后根據(jù)數(shù)據(jù)源構(gòu)架創(chuàng)建數(shù)據(jù)源視圖,接著再創(chuàng)建基于數(shù)據(jù)源視圖的Analysis Services維度和多維數(shù)據(jù)集。為Analysis Services數(shù)據(jù)庫指定一個或多個數(shù)據(jù)源,可以為維度、多維數(shù)據(jù)集、挖掘模型和其他Analysis Services對象提供數(shù)據(jù)[2-3]。
創(chuàng)建數(shù)據(jù)源時,可以通過兩種方式新建數(shù)據(jù)源。一種是“基于現(xiàn)有連接或新連接創(chuàng)建數(shù)據(jù)源”,可以通過選擇現(xiàn)有數(shù)據(jù)源從現(xiàn)有數(shù)據(jù)源中復(fù)制連接字符串;另一種是“基于另一個對象創(chuàng)建數(shù)據(jù)源”可以引用現(xiàn)有數(shù)據(jù)源或Analysis Services項目。本系統(tǒng)應(yīng)用“基于現(xiàn)有連接或新連接創(chuàng)建數(shù)據(jù)源”。
數(shù)據(jù)源視圖是描述基礎(chǔ)數(shù)據(jù)源架構(gòu)的對象,它提供一組已命名的、可瀏覽的、持久化數(shù)據(jù)庫對象。通過描述數(shù)據(jù)源中的表或視圖的子集,數(shù)據(jù)源視圖可以提供多維數(shù)據(jù)集或維度所需的表。數(shù)據(jù)源視圖處理表的布局、篩選器、SQL表達(dá)式、關(guān)系以及架構(gòu)的其他復(fù)雜性。因此,數(shù)據(jù)源視圖通過Analysis Services多維數(shù)據(jù)集、維度和挖掘模型,可以對數(shù)據(jù)源視圖中的表和列進(jìn)行簡單綁定??梢栽谝粋€數(shù)據(jù)源中生成多個數(shù)據(jù)源視圖,并可以分別構(gòu)建每個數(shù)據(jù)源視圖,以滿足不同的多維數(shù)據(jù)集、維度或其他對象的要求。一個簡單數(shù)據(jù)源視圖支持多個關(guān)系圖,這些關(guān)系圖顯示該數(shù)據(jù)源視圖的不同子集。有時,還可以使用單獨的關(guān)系圖來處理屬于特定對象的數(shù)據(jù)源視圖的各個部分。與不同的數(shù)據(jù)源視圖不同,不同的關(guān)系圖引用相同的架構(gòu)。因此,在關(guān)系圖中所做的任何更改都會應(yīng)用到數(shù)據(jù)源視圖中的所有其他關(guān)系圖中。為本系統(tǒng)創(chuàng)建的數(shù)據(jù)源視圖如圖1所示。
圖1 在線銷售系統(tǒng)的數(shù)據(jù)源視圖Fig.1 Data source view of the online sales system
多維數(shù)據(jù)集是包含維度和度量值的多維結(jié)構(gòu)。維度定義多維數(shù)據(jù)集的結(jié)構(gòu),而度量值提供最終用戶感興趣的數(shù)值。創(chuàng)建多維數(shù)據(jù)集同樣有兩種方式,一種是“使用數(shù)據(jù)源生成多維數(shù)據(jù)集”,一種是“不使用數(shù)據(jù)源生成多維數(shù)據(jù)集”。使用“數(shù)據(jù)源生成多維數(shù)據(jù)集”時將遵循步驟:選擇數(shù)據(jù)源視圖→標(biāo)識事實數(shù)據(jù)表和維度表→定義時間段→選擇維度→選擇度量值,之后將完成多維數(shù)據(jù)集的創(chuàng)建。而“不使用數(shù)據(jù)源生成多維數(shù)據(jù)集”時將遵循步驟:選擇維度→定義新度量值→定義新的維度→定義時間段→定義維度用法,則完成多維數(shù)據(jù)集的創(chuàng)建。本系統(tǒng)應(yīng)用“使用數(shù)據(jù)源生成多維數(shù)據(jù)集”。
“在線銷售”主題主要有一個事實表,4個維度表構(gòu)成。事實表用來存儲事實的度量值,維度表用來保存該維的元數(shù)據(jù),即維的表述信息,包括維的層析及成員類別等。事實表通過每一個維的值和維表聯(lián)系在一起的。本系統(tǒng)中事實表InternetSales包括銷售序列號、銷售產(chǎn)品類別號、客戶關(guān)鍵字以及地域關(guān)鍵字等;Customer維度表包括客戶關(guān)鍵字、地域關(guān)鍵字、客戶姓名以及客戶出生日期等的客戶信息;Geography維度表、Time維度表和Product維度表。在線銷售系統(tǒng)的事實表和維度表如圖2所示。
圖2 在線銷售系統(tǒng)的事實表和維度表Fig.2 Fact table and dimension table of Online sales
在在線銷售數(shù)據(jù)分析過程中,用戶希望從多個角度觀察某一指標(biāo)或多個指標(biāo)的值,并且找出這些指標(biāo)之間的關(guān)系,比如用戶想知道“同一產(chǎn)品在三月份和六月份銷售額的情況對比”,這就需要對該類產(chǎn)品在“時間”維度上分析,通過比較統(tǒng)一產(chǎn)品不同銷售時間的銷售額情況,及時掌握市場的銷售信息,做出對企業(yè)有利的產(chǎn)品銷售預(yù)測以及指定正確的銷售方案[4]。
利用Analysis Manager,用戶不僅在圖形界面下建立多維數(shù)據(jù)集,還可以直接用它的瀏覽功能查看分析數(shù)據(jù)。進(jìn)行分析展現(xiàn)時,Analysis Services工具以樹型結(jié)構(gòu)顯示選定Cube的元數(shù)據(jù)。每個Cube都有一個特殊的惟—Measure,這個維的成員都是度量值,提供最終用戶感興趣的數(shù)據(jù)。用戶可以選定元數(shù)據(jù)并拖到數(shù)據(jù)匯總區(qū)域,實現(xiàn)數(shù)據(jù)的多維顯示。本系統(tǒng)中度量值包括折銷售總額、扣銷售總額、貨物存儲量、納稅額以及訂購數(shù)量等等。
在樹型結(jié)構(gòu)的元數(shù)據(jù)中,除存儲著可以進(jìn)行匯總數(shù)據(jù)的所有的度量值以外,其余的則是表示可以從不同的維度對需要匯總的數(shù)據(jù)進(jìn)行度量的相關(guān)屬性。顯示從不同的角度對數(shù)據(jù)進(jìn)行度量包括客戶維度、產(chǎn)品維度以及時間維度,盡管在據(jù)庫級別只創(chuàng)建了4個維度,但在Analysis Services Tutorial多維數(shù)據(jù)集中卻有6個多維數(shù)據(jù)集維度。該多維數(shù)據(jù)集包含的維度比數(shù)據(jù)庫多,其原因是,根據(jù)事實數(shù)據(jù)表中與時間相關(guān)的不同事實數(shù)據(jù),“時間”數(shù)據(jù)庫維度被用作3個與時間相關(guān)的單獨多維數(shù)據(jù)集維度的基礎(chǔ)。這些與時間相關(guān)的維度也稱為“角色扮演維度”。使用3個與時間相關(guān)的多維數(shù)據(jù)集維度,用戶可以按照下列3個與每個產(chǎn)品銷售相關(guān)的單獨事實數(shù)據(jù)在多維數(shù)據(jù)集中組織維度:產(chǎn)品訂單日期、履行訂單的到期日期和訂單發(fā)貨日期。
為了具體了解多維數(shù)據(jù)集中的詳細(xì)數(shù)據(jù),方便用戶的分析,用戶可以提交對數(shù)據(jù)的各種多維的分析請求,如上卷、下鉆、切片、切塊、旋轉(zhuǎn)等操作[5-6]。比如,在現(xiàn)有現(xiàn)有所有產(chǎn)品各地區(qū)銷售的情況下,用戶需要了解各類產(chǎn)品的銷售情況,此時需要采取在“產(chǎn)品”維度上的下鉆操作,反之逆操作則為上卷操作。如圖3中的第一列表示需要對哪些地區(qū)的數(shù)據(jù)進(jìn)行操作,此數(shù)據(jù)來自Dim Customer的相關(guān)屬性中;第二列顯示所要獲得的數(shù)據(jù)—度量值,來自Measures的Fact Internet Sales的相關(guān)屬性中。
圖3 法國各地區(qū)在線銷售總額Fig.3 Total sales of the French
圖4所示是對所有的各類產(chǎn)品的銷售額進(jìn)行匯總,也可以根據(jù)需要只顯示部分類別的產(chǎn)品銷售記錄,只需在“product Line”中選擇需要展示的類別。
圖4 法國地區(qū)各類產(chǎn)品在線銷售額Fig.4 Total online sales of various products of the French
通過在線銷售系統(tǒng)中在線銷售數(shù)據(jù)的分析,結(jié)合實際的在線銷售業(yè)務(wù),建立以在線銷售為主題的事實表和相關(guān)的維度表,利用SQL Server 2005提供的商業(yè)智能工具SSIS(SQL Server Integration Services)對數(shù)據(jù)源中的數(shù)據(jù)進(jìn)行數(shù)據(jù)抽取、轉(zhuǎn)換病裝載到多維分析數(shù)據(jù)倉庫中。利用SSAS(SQL Server Analysis Services)建立數(shù)據(jù)源、數(shù)據(jù)源視圖以及多維數(shù)據(jù)集,并利用分析展現(xiàn)工具將分析數(shù)據(jù)以靈活的形式展現(xiàn),直觀清晰地實現(xiàn)對企業(yè)銷售狀況的查詢分析。
[1] 于秀梅.數(shù)據(jù)倉庫的多位分析展現(xiàn)技術(shù)[D].北京:北方工業(yè)大學(xué),2012.
[2] Mundy J,Thornthwaite W,Kimball R.數(shù)據(jù)倉庫工具箱[M].北京:清華大學(xué)出版社,2007.
[3] 徐俊剛,裴瑩.數(shù)據(jù)ETL研究綜述[J].計算機科學(xué),2011(4):15-18.XU Jun-gang,PEI Ying.Overview of data extraction,transformation and loading[J].Computer Science,2001(4):15-18.
[4] 李雅莉.決策支持系統(tǒng)中OLAP的設(shè)計與實現(xiàn)[J].寶雞文理學(xué)院學(xué)報:自然科學(xué)版,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] 王武習(xí).基于數(shù)據(jù)倉庫的高校就業(yè)信息管理OLAP系統(tǒng)設(shè)計[J].軟件導(dǎo)刊,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技術(shù)的醫(yī)療信息多維數(shù)據(jù)設(shè)計與分析[J].吉林師范大學(xué)學(xué)報:自然科學(xué)版,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.