戶鵬飛
摘要 很多國內集團型企業因Hyperion多維數據分析領域的強大而選擇其作為全面預算編制的系統軟件,而Essbase多維數據庫與關系型數據庫異構,逐漸形成數據孤島。本文提出了Essbase類稀疏矩陣的數據展示方式,將Essbase的維與關系數據庫的表映射,借助ETL工具,以海油某公司預算數據為例進行數據降維,向Hyperion+預算控制系統的預算流程閉環管理邁進一步。
【關鍵詞】全面預算 Hyperion+ Essbase
1 Hype r ion軟件介紹
全面預算管理已成為現代化企業不可或缺的重要管理模式。Hyperion軟件是將預算管理落地實現的軟件,其在多維數據分析領域的強大征服了很多企業,但缺乏預算執行控制和工作流引擎也一直被很多企業所詬病。Hyperion的多維數據庫與關系數據庫形成異構數據庫,使得企業在選擇Hyperion系統后,逐漸形成數據孤島,預算執行不能通過信息系統有效管控。打通影響異構數據庫之間數據流轉的壁壘,形成Hyperion+的預算流程閉環管理勢在必行。
如表1所示,基于企業使用Hyperion軟件的基本現狀,必須將Hyperion預算系統的數據流轉到企業相關系統做預算執行的流程管控及審批,形成Hyperion+系統的閉環預算管理。
2 Essbase類稀疏矩陣展示
假設存在Essbase的預算應用EAPP,啟用了三個Budget,分別為Budgetl、Budget2、Budget3,其中Budgetl為經營預算,設置了Account(科目維)、Period(期間維)、Year(年份維)、Transaction(交易方向維)、Misc(綜合維)、Product(產品維)、Entity(組織維)、Scenario(場景維)、Version(版本維)、Currency(貨幣維)、HSP_Rates(默認維)11個維可以用矩陣A來表示:
A=(維1,維1,…維11,Data)
Essbase維與維之間的維值個數并不相等,假設Account有2000個維值,Period僅有17個維值,對于1983個空單元,每個空單元有C'17個選擇,對于此類單元類似于稀疏矩陣中的O,借用稀疏矩陣的存儲方式列壓縮存儲或者行壓縮存儲,即行列的索引值加上數據值,即對于每一個具體數字,例如數據110.54,其數據表達方式為
(主營業務收入,2018年,…,某公司,110.54)
以上表達方式定義為元數據。
數據與元數據一一對應,如果結合RDBMS表格的表達方式,一條元數據在RDBMS的表格中就是一條記錄,維度名稱可記為列名。
多維數據庫的每一個維度映射至RDBMS表格的對應列,多維數據庫有N個維,RDBMS的表格擁有N+1列,通過類稀疏矩陣的元數據,使得多維數據庫與RDBMS有了聯系,如何將這種聯系落地為系統實現,將多維數據扁平化為二維數據呢?
3 多維降維利器ETLI具
ETL,是英文Extract-Transform-Load的縮寫,用來描述將數據從來源端經過抽取、轉換、加載至目的端的過程。以RDBMS的典型DB-Oracle數據庫為例,ETL工具采用OracleData Integrator即ODI,步驟如圖1所示。
以海油某單位數據進行驗證如表2。
4 總結
多維數據庫Essbase的類稀疏矩陣表達將維度與關系數據庫的表格列一一對應,為ETL工具實現多維降維操作提供了理論依據。Essbase的數據量與維度和維值個數有關,數據量條目巨大,關系庫表按照一定策略采用相關技術例如分區表等分開存儲元數據,保證數據庫性能。
參考文獻
[1] Oracle開發人員.Oracle?EssbaseDatabase Administrator' sGuideRELEASE 11.1.2.1[M].P470。