熊勝利 廣東大鵬液化天然氣有限公司 廣東省深圳市 518000
隨著公司各類應用系統的建成和完善,存儲在系統中的數據日積月累,逐漸增多。如果這些數據不加以利用和分析,那么它們始終只是數據。如果能通過商業智能,對數據進行分析和挖掘,發現企業運營中存在的問題和不足,并提供趨勢預測,則可以提高企業的競爭力,將數據轉化為財富。
根據對文獻的統計,從1996年至2001年國內的商業智能應用開始起步,這一段時間多數是關于一些商業智能軟件以及在國外的研究情況。在2002年至2005年開始進入增長階段,研究文章大量增長,但是大多數還是對功能的介紹以及簡訊等。商業智能的研究是以數據的積累為基礎的,因此與國內的信息化程度密切相關。在近年來,商業智能分析軟件開始逐漸輕量化,例如Tableau等重在可視化分析的輕量級數據分析應用得到人們的親睞。而原來的SAP BusinessObjects等重量級產品,反而更多地應用于較固定的報表分析。以帆軟為代表的國產BI軟件逐漸顯露頭角。
a)數據分析目標
在業務系統中的報表通常僅限于常用的固定格式報表,如果需要對這些報表進行修改,往往需要專業的IT工程師進行代碼調整。而用戶對數據分析的需求往往是多變的,如果能快速響應這些需求,甚至能讓用戶快捷地制作自己的報表,進行數據分析,將大大地提高數據分析的速度和質量。商業智能系統的重點在于通過結合關系數據庫與多維數據集技術,將各業務系統中的數據進行抽取和整理后,設計成不同的分析模型,使得用戶可以通過這些模型,進行業務分析。同時,將此數據分析系統的設計模式進行歸納總結后,可應用于企業的不同業務,例如合同采辦、財務、銷售等,為公司管理提供更及時、準確的數據。
b)用戶需求分析
需求是貫穿整個軟件設計、實現和測試的依據。在需求分析方法中,采用三步法,即分為“訪談”階段、“誘導”階段、“確認”階段等三個階段。分別對數據采集需求、數據分析需求、前端查詢需求等進行了調研和分析。
例如,采購業務流程包括制定采購計劃、采購申請、采購尋源、合同訂單管理、收發貨、發票、支付等環節。以采購數據分析的難點為入口進行需求分析,將與采購相關的信息包括采購申請、合同、供應商、審批流程、預算、支付、收發貨等各個環節的數據進行分析,然后運用商業智能的方法,將存在于各異構系統中的數據通過ETL抽取、轉換并加載至數據倉庫,解決了數據來源多樣化的問題。同時,在數據倉庫的基礎上,運用SAP BusinessObject構建不同的數據分析模型,滿足各種分析需求。在前端分析和查詢時,用戶可以通過拖拽分析模型中的維度和量度直接生成需要的查詢和報表,而不用關心數據存在于何種業務系統中,也不用局限于開發人員制作好的固定報表,真正實現了面向業務的數據分析。
c)系統設計
數據倉庫設計的目標是逐步建設成為整個公司的業務和分析數據的“集散地”。為保證系統數據結構的長期穩定性,必須設計獨立于各個現有業務系統現有數據結構的、依據現有和將來的業務流和數據流邏輯的標準數據模型,以便實現對源系統、源數據的獨立性。為達到以上目標,一般將數據倉庫設計分為三層,分別是DW層、ODS層和STG層,分別用于存儲維度表和量度表的數據、經過清理的數據和歷史數據、以及源數據。
在多維模型設計方面,以SAP BO為例,使用Universe Designer工具,將DW層定義好的維度表和事實表進行關聯。建立模型時可以直接使用DW層的事實表和維表,也可以在其基礎上進行處理后產生衍生表,作為建立分析模型的基礎。在數據分析模型這一層采用的是ROLAP技術,并不實際存儲數據,所以從前端傳來的請求都將經過數據模型后直接從DW層讀取。
d)系統實現
在系統實現方面,商業智能的常用關鍵技術包括ETL、數據倉庫和多維分析模型。
ETL是Extract、Transform和Load的簡稱。是數據分析系統設計和實現的重要組成部分,也是商業智能研究的重點。為了管理這一“抽取”過程,市場上出現了ETL工具。隨著商業智能的廣泛應用,很多廠商推出了ETL產品套件。當前國外的主要ETL商業工具包括微軟的SSIS、Informatica公司的Informatica、IBM的Data Stage等。對于數據倉庫而言,數據的正確性非常重要,因此ETL過程中對錯誤的處理、清洗和轉換以及加載過程都要求ETL工具有錯誤恢復的能力,以及對日志的記錄。
數據倉庫設計的方法通常可以分為兩類。一種是數據驅動的方法,一種是需求驅動的方法。數據驅動的方法是通過對數據源進行詳細地分析,用戶需求對設計的影響在于允許設計人員選擇哪些數據是相關的,并根據多維模型來決定數據結構。需求驅動的方法是從識別最終用戶的需求開始,將這些需求與數據源進行匹配。需求分析在任何一個軟件項目中都起到關鍵作用。但是對于數據倉庫的需求分析往往未得到重視。原因可能有兩方面,一方面是數據倉庫項目一般周期較長,有些需求在項目初期無法確定,另一方面組織內部的需求沒有得到及時地共享和理解。在產品方面,主流的軟件廠商等公司都擁有獨立的數據倉庫產品。通常數據倉庫有幾個特點,包括面向主題的、管理大量信息、跨越數據庫模式的多個版本、信息概括和聚集、多數據來源等。
數據倉庫的OLAP工具都是基于多維數據模型的。模型將數據看作是一個一個的數據立方體,從多維對數據建模和觀察。現在流行的模型包括星形模型、雪花形模型或事實星座形模型。星形模型以一個大的量度表為核心,同時包含一組小的附屬表(維表),維表圍繞中心量度表顯示在射線上。雪花形模型可以看到是一種特殊的星形,有一部分維度表是范式化的,從而分為了多層的維表,使得結構看上去象雪花。復雜的應用可能會形成維表共用的模式,類似于多個星形模型的關聯。
在商業智能建模之前,必須對分析業務對象和流程進行梳理。以采辦業務分析為例,將業務分為了采購申請、合同、交貨付款、資金預測、流程審批等幾個功能模塊,各業務之間又相互關聯。在對合同進行統計分析的時候,采辦人員希望看到相關聯的采購申請、供應商、交貨和付款進度,財務人員希望能對資金的安排做出預測。在對這些業務進行梳理的同時,用戶發現,同一個指標,可以從多個角度來看,有些角度可能是他們之前沒有使用過的,我們將這些分析角度和分析指標進行組合,貫穿整個業務流程,構建出多種分析模型,對流程的前因、后果進行分析。總而言之,商業智能建模的過程也是對業務功能和流程的梳理過程。
商業智能分析的最終目標是進行數據挖掘和趨勢分析,而這兩點有助于提升公司的核心競爭力。一般來說,核心競爭力是涵蓋企業產品、知識、服務和技術的總集。
信息技術的不斷發展為提高企業管理水平、應對不斷激化的市場競爭提供了新的途徑。同時,新的需求又促進了新技術和新方法的產生。企業通過數據分析 和數據挖掘,對應用系統中收集的企業運營相關數據進行充分的利用,獲取有效的信息,從而制定合適的策略進行應對。商業智能分析的意義是在收集到的大量業務數據的基礎上,進行建模處理、分析,從數據中發現隱藏的知識、規律和趨勢,讓數據中蘊藏的價值為企業管理和經營決策所用,進而提升管理水平,創造效益。