#MISSING 值
如果區塊儲存維度成員組合沒有資料值, Essbase 會提供 #MISSING 值的組合。#MISSING 值與零 (0) 值不同。依預設,除非您啟用設定,否則不會合併 #MISSING 資料。您可以移除 #MISSING 區塊以提升效能。
合併 #MISSING
以下顯示 Essbase 如何計算 #MISSING 值。在此表格中,X 代表任何數字:
表 34-8 Essbase 如何處理 #MISSING 值
| 計算 / 作業 | 結果 |
|---|---|
|
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: Y 與 #MISSING,其中 Y 代表任何非零值 0 和 #MISSING #MISSING 和 #MISSING |
#MISSING 0 #MISSING |
|
X 或 #MISSING: Y 或 #MISSING,其中 Y 代表任何非零的值 0 或 #MISSING #MISSING 或 #MISSING |
Y #MISSING #MISSING |
|
如果 (#MISSING) |
IF (0) |
|
f (遺漏數) |
一個變數之任何 Essbase 函數的 #MISSING |
|
f (X) |
#MISSING 代表任何不在 f 網域中的 X,以及多個變數的任何 Essbase Essbase 函數 (特別註明者除外) |
依預設, Essbase 不會累計 #MISSING 值。不過,如果您一律在層級 0 載入資料,且從未在父項層級載入資料,則應啟用整合 #MISSING 值的設定。此設定可改善 1%-30% 的計算效能。效能提升會因立方體大小和組態而有所不同。
警示:
如果您在父項 (而非子項) 層級 (如果任何子項成員組合具有 #MISSING 值) 載入資料,則預設值 (非合併 #MISSING 值) 必須有效。如果所有子成員組合都具有任何其他值,包括零 (0), Essbase 會彙總子項值並正確覆寫父項值,以便您可以安全地變更預設值。
若要合併 #MISSING 值,請使用下列其中一種方法。您所實現的效能提升程度取決於資料庫中上層區塊與輸入區塊之間的比例。
若要變更 #MISSING 值的合併方式,您可以使用下列其中一種方法:
-
在 Essbase Web 介面中選取「聚總」遺漏值立方體選項。
請參閱設定進階立方體特性。
-
在計算命令檔中,使用 SET AGGMISSG 計算命令。
-
使用 alter database enable aggregate_missing MaxL 敘述句。
如果您在立方體特性中啟用 #MISSING 值的合併,則資料區塊內的儲存格計算順序會變更。
停用整合 #MISSING 值的設定時,請注意,在下列情況下,效能負荷特別高:
-
計算的資料區塊與輸入資料區塊的比例如果低
-
當您在稀疏維度的父項層級載入多個資料值時
在這些情況下,效能負荷是 10% – 30%。如果計算效能很重要,您可以重新考慮資料庫組態或載入資料的方式。
移除 #MISSING 區塊
您可以使用 CLEARDATA 命令,將區塊中的儲存格值變更為 #MISSING。它不會移除資料區塊。這些額外的區塊會減緩擷取和計算效能。
如果 #MISSING 區塊效能降低,請執行下列任一動作:
-
使用 CLEARBLOCK 命令移除資料區塊。
-
匯出資料並重新匯入資料。
移除空白區塊可改善已載入資料值時的效能。不過,如果新值需要建立區塊,資料載入處理作業時間就會增加。