定義 Essbase 計算

計算對於衍生特定類型的資料至關重要。從計算衍生的資料稱為計算資料,而未計算的來源資料則稱為輸入資料。瞭解如何使用整合、帳戶標籤、公式、函式和動態計算來定義 Essbase 資料庫的最佳計算邏輯。

下列主題使用 TBC 應用程式的 Product and Measures 維度來說明在許多 Essbase 資料庫中找到的數種常見計算類型。

維度與成員的整合

當您定義標準維度的成員時, Essbase 會自動使用 + 合併運算子標記成員 (加上代表新增的符號),這表示在新增合併成員期間,會衍生其父項的值。您可以視情況變更成員整合特性。

合併是 Essbase 中最常用的計算。本主題使用 Product 維度來說明整合。

TBC 應用程式具有數個整合路徑:

  • 個別產品均累計至產品系列,而產品系列則合併至產品。TBC 大綱也需要多個整合路徑;某些產品必須整合在多個類別中。

  • 向上彙整到區域,並將區域整合到市場中。

  • 月數彙整至季度,而季度則整合至「年度」。

合併運算子定義 Essbase 如何將分支中每個成員的資料彙總至父項。例如,使用預設加法 (+) 運算子, Essbase 會新增 100-10、100-20 和 100-30,並將結果儲存在其父項 100 中,如下所示。

圖 1-7 TBC 產品尺寸


此圖像顯示大綱中的合併運算子,如圖像前面的文字中所述。

Product 維度大多包含新增 (+) 運算子,表示每個成員群組都會新增並累加到父項。Diet 具有波狀符號 (~) 運算子,表示 Essbase 不會在與父項 Product 的整合中包含 Diet 成員。「飲食」成員完全由共用的成員組成。TBC 產品管理群組希望能夠在報告中隔離飲食,因此 TBC 建立了不影響整體整合的個別飲食成員。

職位與操作員對合併的影響

Essbase 會依由上而下順序計算分支的資料。例如,如果您有兩個以加號 (+) 運算子標記的成員,以及一個以乘號 (*) 運算子標記的第三個成員,則 Essbase 會新增前兩個成員,然後乘以第三個。

由於 Essbase 在合併時一律以最上層成員為開頭,因此成員的順序與標籤非常重要。

合併共用成員

共用成員也會影響整合路徑。共用成員概念可讓兩個名稱相同的成員共用相同的資料。共用成員會儲存指標至其他成員中包含的資料,因此 Essbase 只會儲存資料一次。共用成員必須位於相同維度。資料可由多個成員共用。

合併核對清單

使用下列核對清單來協助定義合併:

  • 您是否在大綱中識別合併?

  • 您是否以適當的整合運算子標記每個成員?

  • 您是否已為指定的成員指定共用成員標記?

  • 如果在屬性維度 (共用除外) 中設計共用成員,是否會更有效率?

範例測量維度上的標記與運算子

Measures 維度 (標記為 Accounts) 是虛構 TBC 大綱中最複雜的維度,因為它同時使用時間與帳戶資料。它也包含公式和特殊標記,以協助 Essbase 計算大綱。

檢查 TBC 所定義的 Measures 維度標記。先前主題中會討論 Measures 維度的許多特性:加號 (+)、減號 (-)、無合併 (~) 運算子,以及僅帳戶與標籤標記:

  • 「庫存與比率」成員名稱可協助使用者進行資料導覽。它們不包含資料,因此會收到僅標籤的標籤。

  • Measures 維度本身具有僅標籤的標籤。測量的某些成員具有動態計算標記。

  • 測量的某些成員具有時間平衡標記 (TB First 或 TB Last)。

圖 1-8 TBC 測量維度


此圖像顯示 TBC Measures 維度中的成員特性,例如整合運算子與標記,如影像前面的文字中所述。

帳戶維度計算

標記為帳戶的 Essbase 維度可以使用影響計算的特殊特性。時間平衡標記或特性提供 Essbase 的說明,說明如何計算與時間週期相依的帳戶。差異報告特性定義 Essbase 如何計算實際資料與預算資料之間的差異。

本主題探討標記為帳戶之維度的兩種計算形式。

時間平衡特性

要使用時間平衡標記 / 特性,您需要一個標記為帳戶的維度,以及一個標記為時間的維度。第一個、最後一個、平均和費用標籤僅適用於帳戶維度成員。

在「TBC 測量」維度中,「期初存貨」資料代表 TBC 在每個月開始時的存貨。「期初庫存」的每季值等於該季第一個月的「期初」值。「期初庫存」需要時間平衡標記 TB 優先。

「期末庫存」資料代表 TBC 在每個月底所攜帶的庫存。「期末存貨」的每季值等於該季最後一個月的結束值。「期末庫存」需要時間平衡標記 TB 最後。下表定義帳戶維度的時間餘額標籤。

表格 1-6 帳戶成員標記

標記 描述

上次時間平衡

最後一個子項成員的值會帶入父項。例如,March 會被帶到 Qtr1。

第一個時間平衡

第一個子系的值會帶入父系。例如,Jan 會帶到 Qtr1。

在下表中,Qtr1 (右側的第二個欄) 和 Year (最右側欄) 顯示時間維度中的合併如何受到帳戶維度中的時間平衡特性影響。只會顯示第一季的資料。

表格 1-7 受時間平衡特性影響的 TBC 合併

尺寸 一月 二月 三月 Qtr1 Year

帳戶成員 1

11

12

13

36

季別 1 + 季別 2 + 季別 3 + 季別 4

帳戶成員 2 (TB 優先)

20

25

21

20

20

帳戶成員 3 (TB 最後)

25

21

30

30

第 4 季的值

一般而言,時間維度中的父系計算是根據父系子系的合併和公式。但是,如果帳戶分支中的成員標示為 TB First,則時間維度中的任何父系都符合標示為 TB First 的成員。

如需範例,請參閱時間平衡特性

差異報告

一個 TBC Essbase 需求是在實際與預算資料上執行差異報告的能力。差異報表計算需要任何代表公司費用的項目都必須要有支出報表標記。庫存成員、費用總計成員和 COGS 成員都會收到差異報表的費用報表標記。

Essbase 提供兩種差異報告特性 — 費用與非費用 (預設)。差異報告特性定義 Essbase 如何在成員公式中計算具有 @VAR 或 @VARPER 函數之成員中實際資料與預算資料之間的差異。

當您將成員標記為費用時,@VAR 函數會計算「預算 - 實際」。例如,如果預算金額為 $100 且實際金額為 $110,則差異為 -10。

如果沒有費用報告標籤,@VAR 函數會計算「實際 - 預算」。例如,如果預算金額為 $100 且實際金額為 $110,則差異為 10。

公式與函式

公式會計算 Essbase 大綱中成員之間的關係。您可以將公式套用至成員,或在計算命令檔中套用。函數是預先定義的常式,可執行特殊計算、傳回成員集或資料值。公式包含運算子與函式,以及維度名稱、成員名稱與數值常數。

Essbase 支援下列運算子:

  • 執行算術運算的數學運算子

  • 條件運算子,會在計算中建置邏輯條件

  • 跨維度運算子,指向特定資料庫成員組合的資料值

Essbase 函式包含超過 175 個預先定義的常式,可擴充 Essbase 的計算功能。Essbase 包含下列函數:

  • 布林函數,傳回 TRUE 或 FALSE 值來提供條件式測試

  • 執行特殊數學計算的數學函數

  • 關係函數,根據目前成員的位置,在計算期間查詢資料庫內的資料值

  • 範圍函數,可將某個範圍的成員宣告為另一個函數或命令的引數

  • 執行特殊化財務計算的財務功能

  • 成員集函式,以指定的成員為基礎,並產生成員清單

  • 配置函式,可配置在父項層級上下階成員輸入的值

  • 預測函數,可操控資料以平滑化資料、插入資料或計算未來值

  • 計算進階統計資料的統計函數

  • 日期與時間函數,在計算公式中使用日期與時間特性

  • 計算模式函數,可指定 Essbase 用來計算公式的計算模式

Measures 維度使用下列公式:

  • 利潤 = 銷售 – 銷貨成本

  • 費用總計 = 行銷 + 薪資 + 雜項

  • 利潤 = 利潤 - 總支出

  • 利潤百分比 = 銷售利潤百分比

  • 毛利百分比 = 毛利百分比銷售

  • 每盎司利潤 = 利潤 / @ATTRIBUTEVAL (@NAME (盎司))

Essbase 使用整合運算子來計算「利潤」、「費用總計」和「利潤」成員。「利潤百分比」公式使用百分比運算子,這表示「以銷售百分比表示快速利潤」。「利潤百分比」公式使用相同的百分比運算子。「每盎司利潤」公式使用除法運算子 (/) 與函數 ( @ATTRIBUTEVAL) 來計算以盎司為單位之產品的獲利能力。

附註:

在「每盎司利潤」公式中, @NAME 函數也用於處理 @ATTRIBUTEVAL 函數的「盎司」字串。

如需完整的運算子、函數及語法清單,請參閱計算函數清單。另請參閱開發區塊儲存立方體的公式

動態計算

設計資料庫計算時,您可能要將成員定義為動態計算成員。當您將成員標記為動態計算時, Essbase 會在您擷取資料時計算該成員的組合,而不是在一般資料庫計算期間預先計算成員組合。

動態計算可縮短一般資料庫計算時間,但可能會增加動態計算資料值的擷取時間。

在下列大綱中,TBC Measures 維度包含數個標記為動態計算的成員—利潤、利潤、總費用、利潤百分比和利潤百分比。

圖 1-9 TBC Measures 維度,動態計算標記


此圖像顯示 TBC Measures 維度中標記為「動態計算」的成員,如圖像前面的文字中所述。

執行整體資料庫計算時,不會計算動態計算成員及其對應的公式。這些成員是在使用者從 Smart View 查詢時計算的。Essbase 不會儲存查詢的值;它會重新計算每個後續查詢的值。

若要決定何時動態計算資料值,請考量下列區域中的優先順序:

  • 最佳一般計算時間 (批次計算)

  • 磁碟空間用量低

  • 縮短資料庫重新建立時間

  • 快速擷取使用者的資料

  • 縮短備份時間

請參閱資料值的動態計算

二階段計算

雙流程特性僅適用於標記為帳戶的 Essbase 維度成員,以及標記為動態計算的成員。此標籤指示某些成員公式必須計算兩次才能產生所需的值。

在 TBC 資料庫中,「利潤百分比」與「利潤百分比」包含兩輪標籤。

下列範例說明為何利潤百分比 (根據利潤百分比銷售公式) 具有雙倍標籤的原因。表格有五個資料欄 (資料欄表頭標示為「維度」、「一月」、「二月」、「三月」和「季別 1」) 和三個資料列 (標示為「利潤」、「銷售額」和「利潤百分比」)。Jan、Feb、Mar 和 Qtr1 是 Year 維度的成員。Profit、Sales 和 Profit % 是 Measures (accounts) 維度的成員。

下列範例定義要載入至 Essbase 的初始資料。「利潤」->「一月」、「利潤」->「二月」和「利潤」->「三月」的資料值為 100。「銷售」->「一月」、「銷售」->「二月」,以及「銷售」->「三月」的資料值為 1000。

表格 1-8 資料已載入 Essbase

維度 一月 二月 三月 Qtr1

利潤

100

100

100

銷售管理系統

1000

1000

1000

利潤百分比

首先, Essbase 會計算 Measures 維度。下表中「利潤百分比」->「一月」、「利潤百分比」->「二月」,以及「利潤百分比」->「三月」的資料值為 10%。

Essbase 計算 Measures 維度之後的表格 1-9 資料

維度 一月 二月 三月 Qtr1

利潤

100

100

100

 

銷售管理系統

1000

1000

1000

 

利潤百分比

10%

10%

10%

接下來, Essbase 會計算 Year 維度。資料會累計整個維度。下表中的「利潤」->「第 1 季」(300) 與「銷售」->「第 1 季」(3000) 資料值正確。利潤百分比 -> 第 1 季 (30%) 的資料值不正確,因為利潤百分比已標記為兩輪計算。

Essbase 計算 Year 維度之後的表格 1-10 資料

維度 一月 二月 三月 Qtr1

利潤

100

100

100

300

銷售管理系統

1000

1000

1000

3000

利潤百分比

10%

10%

10%

30%

然後, Essbase 會重新計算每個成員利潤百分比的利潤百分比。下表中的利潤百分比 -> 第 1 季 (10%) 的資料值在第二次通過後是正確的。

表格 1-11 Essbase 重新計算利潤百分比之後的資料

維度 一月 二月 三月 Qtr1

利潤

100

100

100

300

銷售管理系統

1000

1000

1000

3000

利潤百分比

10%

10%

10%

10%

計算的檢查清單

設計 Essbase 區塊儲存 (BSO) 計算時,請使用下列檢查清單:

  • 預設計算邏輯是否能獲得準確的結果?

  • 哪些成員需要公式?

  • 哪些成員需要時間平衡標記?

  • 哪些成員需要差異報表?

  • 哪些成員需要二次計算?

  • 哪些成員可以標記為動態計算