1. 程式人生 > >Oracle Essbase入門系列(一)

Oracle Essbase入門系列(一)

1. 開篇序

本文是幾年前做Hyperion Planning專案時寫的,後來陸陸續續有些補充。本來打算將整個EPM寫一系列的教程,但HFM寫到1/3就沒動力了。不過至少Essbase這部分是完整的。

Essbase主要是作為Planning後端資料庫使用。Planning的技術難點在於Essbase,所以搞Planning深入下去就是在搞Essbase;反過來說,熟悉了Essbase,上手Planning就很簡單,無非是在Essbase基礎上加了Form、Process Management等功能,再學學Driver-based Planning、Rolling Forcasting等知識,就算是Planning專家了。

2. OLAP概念

聯機分析處理OLAP通常是以多維的形式對資料進行鑽取、彙總、切片、旋轉等操作,以滿足多層次、多角度資料分析的過程。OLAP包括兩部分——提供使用者多維操作的前端和支援多維分析的後端資料庫。多維資料庫,既可以是將資料以星形結構組織的RDBMS,也可以是Essbase這種專門的多維資料庫。

Essbase的維度是value-based dimension,即樹型結構,維度中的成員按照層次組織,形成父子級關係,其中的每個成員可包含若干個子成員。最底層的成員沒有子成員,稱作葉成員(Leaf Member)或基成員(Base Member),而最頂級成員是根成員。如下圖的帳戶維,將家庭收支項按層級關聯起來形成樹型結構。

維度的層級結構決定了資料沿向上合併(consolidation)和向下分配(allocation)的計算路徑,如下圖。

上面是單個維度的結構後,然後再來談論多維的情況。多維資料庫,顧名思義是由多個維度組成,各維度成員的組合是資料儲存的最小單位,稱為單元格(cell)。作為例子,假定一個家庭記賬的多維資料庫,由如下三個維度組成。為了便於說明,這裡的維度僅截取了部分成員。

  • 日期維,成員包括一季度、一月、二月、三月,其中一季度是父成員。
  • 支出帳戶維,成員包括日用品、衣物、洗滌,其中日用品是父成員。
  • 家庭成員維,成員包括家庭、張大明、王翠花,其中家庭是父成員。

在這個多維資料庫中,日期維有4個成員,支出帳戶維有3個成員,家庭成員維有3個成員。那麼一共有4 × 3 × 3 = 36中維度成員組合,即有36個單元格,意味著這個資料庫僅能儲存36個數值。將這個資料庫形象的描繪成下圖的三維立方體,三個維度是立方體的軸。圖中以維度成員將立方體進行分割,形成了36個小塊,這些小塊就是單元格。如暗色單元格,是由成員組合(一月,日用品,張大明)構成。

 

在三個維度中,日期維的葉成員有3個,支出維的葉成員有2個,家庭成員維的葉成員有2個。則36個單元格中,有3 × 2 × 2 = 12個是葉成員組合單元格。類似單一維度成員合併方法,非葉單元格可沿維度層次,由葉單元格合併而得。例如維度成員組合(一月,日用品,張大明),由(一月,衣物,張大明)和(一月,洗滌,張大明)兩個單元格彙總。

3. Essbase概念

EPM系統按產品可建立不同型別的應用程式,Essbase的應用程式是多維資料庫的集合,即每個應用程式下可包含若干個多維資料庫,每個資料庫有獨立的維度模型和資料儲存。

Essbase將資料庫的維度模型稱為大綱(Outline),多維資料庫的開發工作很大部分是大綱開發,大綱開發主要是建立維度成員和定義計算方法。

Essbase中以“代(Generation)”和“級(Level)”來標註維度層次,根成員被標註為1代,其下一層被標註為2代,依次向下代數逐漸增大;反過來,葉成員被標註為0級,其上一層被標註為1級,依次向上級數逐漸增大。以下圖的維度層次為例,成員名稱前的G表示代數,L表示級數。

維度的成員之間存在子代(Children)、後代(Descendants)、同級(Siblings)、父級(Parent)、祖級(Ancestors)共5種關係,說明如下。

系統架構上,Essbase是由多個元件組成。下圖將Essbase的元件分成三部分,左邊是Essbase Server,它是多維資料庫服務,Essbase應用程式會部署到Essbase Server;右邊是客戶端工具,含OLAP前端應用工具和Essbase開發管理工具;在Essbase Server和客戶端工具之間的是中間層服務,負責雙方之間的通訊。

此外跟Essbase相關的工具主要有:

  • Hyperion Planning — Planning使用Essbase作為資料庫儲存和計算資料。
  • Hyperion Profitability and Cost Management — 跟Planning類似,HPCM使用Essbase BSO做分攤計算,使用Essbase ASO做報告。
  • Essbase Analytics Link for Hyperion Financial Management — 可以將HFM資料導到Essbase中做分析。
  • Hyperion Smart View — Oracle BI和EPM的客戶端,跟Office整合,能直接連線Essbase資料庫。
  • Hyperion Visual Explorer — Tableau的OEM版本,在以前版本中會隨Smart View一起安裝,同樣支援Essbase資料來源。
  • Oracle Crystal Ball — 蒙特卡羅模擬工具,新版本跟EPM整合,可以使用Essbase內部的計算代替Excel上的計算公式做模擬。
  • Oracle BIEE — Oracle的BI產品,可使用Essbase作為資料來源。
  • Hyperion Essbase Spreadsheet Add-in — Office外掛,已被Smart View取代。