成員整合範例

Essbase 成員整合特性會控制資料值如何從階層中的子項成員向上彙整至其父項。在大綱成員特性中使用大部分合併運算子的範例,包括 + (新增)、- (減去)、* (乘數)、/ (除數)、% (百分比計算) 和 ~ (不合併)。

在這些範例中,假設一開始 Essbase 立方體尚未計算,而且只有層級 0 成員具有值。這些值已載入立方體,但在計算之前,資料尚未彙總至父項成員。

使用成員運算子的整合會以由上而下的順序進行。新增預設合併時,可以先示範 (+) 運算子。

含有 (+) 運算子的範例

在下面的範例中,P1 在計算之前沒有值。如果在計算立方體之前在試算表中查詢,其值將顯示為 #MISSING。

P1
  M1 (+)  10
  M2 (+)  15
  M3 (+)  20

計算立方體之後,P1 的值就會是 45。合併會由上而下進行,如下所示:

P1 = P1+M1 = #MISSING+10 = 10
P1 = P1+M2 = 10+15 = 25
P1 = P1+M3 = 25+20 = 45

使用 (-) 運算子的範例

現在,請考慮具有使用減法進行整合之成員的類似階層。

P2
  M1 (-)  10
  M2 (-)  15
  M3 (-)  20

計算立方體之後,P2 的值將會是 -45。合併會由上而下進行,如下所示:

P2 = P2–M1 = #MISSING–10 = -10
P2 = P2-M2 = -10-15 = -25
P2 = P2-M3 = -25–20 = -45

含有 (*) 運算子的範例

考慮具有使用乘法合併之成員的階層。

P3
  M1 (*)  10
  M2 (*)  15
  M3 (*)  20

計算立方體之後,P3 的值為 #MISSING。合併會由上而下進行,如下所示:

P3 = P3*M1 = #MISSING*10 = #MISSING
P3 = P3*M2 = #MISSING*15 = #MISSING
P3 = P3*M3 = #MISSING*20 = #MISSING

P3 的最終合併值可能不是預期的結果。如果要求 P3 為所有下階成員的乘積,請嘗試使用第一個下階成員上的 (+) 運算子:

P3
  M1 (+)  10
  M2 (*)  15
  M3 (*)  20

當第一個運算子變更為新增時,在計算立方體之後,P3 將具有非 #MISSING 值。合併會由上而下進行,如下所示:

P3 = P3+M1 = #MISSING+10 = 10
P3 = P3*M2 = 10*15 = 150
P3 = P3*M3 = 150*20 = 3000

使用 (/) 運算子的範例

考慮包含使用除法合併之成員的階層 (第一個子項成員除外)。

P4
  M1 (+)  10
  M2 (/)  15
  M3 (/)  20

計算立方體之後,P4 的值就會是 .033。合併會由上而下進行,如下所示:

P4 = P4+M1 = #MISSING+10 = 10
P4 = P4/M2 = 10/15 = 0.666
P4 = P4/M3 = 0.666/20 = 0.033

含有 (%) 運算子的範例

考慮使用百分比計算 ([a/b]*100) 合併之成員的階層 (第一個子成員除外)。

P5
  M1 (+)  10
  M2 (%)  15
  M3 (%)  20

計算立方體之後,P5 的值就會是 333。合併會由上而下進行,如下所示:

P5 = P5+M1 = #MISSING+10 = 10
P5 = (P5/M2)*100 = (10/15)*100 = 66.6
P5 = (P5/M3)*100 = (66.6/20)*100 = 333

含有許多運算子的範例

請考量下列與各種運算子合併的階層。

Parent1
  Member1 (+)  10
  Member2 (+)  20
  Member3 (-)  25
  Member4 (*)  40
  Member5 (%)  50
  Member6 (/)  60
  Member7 (~)  70

Essbase 會透過 Member6 計算 Member1,如下所示:

Parent1 = Parent1+Member1 = #MISSING+10 = 10;
Parent1 = Parent1+Member2 = 10+20 = 30; 
Parent1 = Parent1+Member3 = 30-25 = 5;
Parent1 = Parent1+Member4 =  5*40 = 200;
Parent1 = Parent1+Member5 = (200/50)*100 = 400
Parent1 = Parent1+Member6 = 400/60 = 6.666;

由於 Member7 設為「無整合 (~)」,因此 Essbase 會忽略整合中的 Member7。因此,Parent1 的最終值為 6.666。

另請參閱使用計算運算子 *、/ 和 % 中的一些重要考量。

成員整合特性

當您為大綱成員定義 Essbase 整合特性時,您可以決定子成員如何向上彙整至其父項。依預設,新成員會被指定新增 (+) 運算子,表示會新增成員。

例如,會加入 Jan、Feb 和 Mar 圖,並將結果儲存在其父系 Qtr1 中。

附註:

Essbase 不會將整合特性與屬性維度的成員一起使用。請參閱計算屬性資料

成員整合特性列示如下。

表 5-2 合併運算子

運算子 描述

+

將成員從對分支內先前成員執行的計算中新增到結果值。+ 是預設運算子。

-

將成員乘以 -1,並將其新增至對其他成員執行的先前計算總和。

*

將成員乘以先前對其他成員執行的計算結果。

/

將成員除以先前對其他成員執行的計算結果。

%

將成員分成對其他成員執行之先前計算的總和。結果會乘以 100 以產生百分比值。

~

不使用整合中的成員至其父項。

^

除了屬性維度之外,請勿在任何維度的合併中使用該成員。

若要使用 Essbase Web 介面設定成員整合特性,請開啟大綱進行編輯、選取成員,然後編輯其一般特性。視需要變更運算子。如需詳細資訊,請參考設定一般特性

如果您使用應用程式工作簿或立方體設計工具來設定成員合併特性,請更新維度工作表上的 CONSOLIDATION 特性。請參考瞭解維度工作表

If you use REST API to edit the outline, you would update the value of the consolidation property of mbrInfo to one of the supported operators, when performing a member add or update action, as documented in the endpoint for Run Batch Outline Edit.

#MISSING 和零值的作業結果

如果成員的唯一組合沒有資料值, Essbase 會提供 #MISSING 值的組合。#MISSING 值與零 (0) 值不同。因此, Essbase 會將 #MISSING 值與 0 值不同。

下表顯示 Essbase 如何計算 #MISSING 值。在此表格中,X 代表任何數字。

表格 5-3 Essbase 計算遺漏值的方式

計算 / 作業 結果

X + #MISSING

X

X – #MISSING

#MISSING – X

X

-X

X * #MISSING

#MISSING

X/#MISSING

#MISSING/X

X / 0

#MISSING

#MISSING

#MISSING

X % #MISSING

#MISSING % X

X % 0

#MISSING

#MISSING

#MISSING

X == #MISSING

False,除非 X 為 #MISSING

X != #MISSING

X <> #MISSING

True,除非 X 是 #MISSING

True,除非 X 是 #MISSING

(X <= #MISSING)

(X <=0)

(X >= #MISSING)

(X >=0) 或 (X == #MISSING)

(X > #MISSING)

(X > 0)

(X < #MISSING)

(X < 0)

X 與 #MISSING

1 AND #MISSING (1 代表任何非零值)

0 和 #MISSING

#MISSING#MISSING

#MISSING

0

#MISSING

X 或 #MISSING

1 或 #MISSING (1 代表任何非零值)

0 或 #MISSING

#MISSING#MISSING

1

#MISSING

#MISSING

IF (#MISSING)

IF (0)

f (#MISSING)

#MISSING 代表任何一個變數的 Essbase 函數

f (X)

#MISSING 代表任何不在 f 網域中的 X,以及任何一個以上變數的 Essbase 函數 (特別註明者除外)