ASO 立方體中的計算順序與解決順序
Essbase 彙總儲存 (ASO) 立方體的計算順序與區塊儲存立方體的計算順序不同。儲存的階層與屬性維度會合併,然後動態階層會根據定義的解決順序進行評估。
對於聚總儲存立方體, Essbase 會依下列順序計算資料:
-
聚總已儲存階層與屬性維度的成員。 成員和維度的聚總順序會在內部最佳化,並根據立方體大綱的性質和現有的聚總進行變更。由於彙總是累加的,因此 Essbase 彙總維度和成員的順序不會影響結果。
由於無法預測聚總儲存立方體的內部聚總順序,因此也無法預測任何固有的捨入錯誤。這些四捨五入錯誤是電腦計算時的預期行為,與相關的資料值極為小。
-
計算動態階層維度成員與公式。 成員和公式的評估順序是由解決順序屬性所定義,您可以對每個成員或維度進行設定。計算順序可能會影響計算結果。
解決訂單屬性
解決順序的概念適用於查詢執行。在多維查詢中評估儲存格時,應解析計算的順序可能不明確。若要移除不明確性,您可以使用解決順序特性來指定必要的計算優先順序。
附註:
透過在成員或維度層級設定解決順序特性來指定解決順序是很好的作法。沒有沒有指定解決順序之公式的成員會繼承其維度的解決順序。公式沒有指定解決順序的成員其解決順序為零。
若要變更解決順序,請使用 Essbase Web 介面中的大綱編輯器,或是使用智慧型檢視。若要指定計算成員的解決順序,您可以使用 MDX 查詢之含區段中的 solve_order 參數。
解決順序特性的值會決定 Essbase 計算公式的優先順序。具有指定解決順序之成員的公式,是依從最低解決順序到最高的順序來進行計算。您可以指定 0 到 127 之間的解決順序。預設值為 0。
您可以在成員層級或維度層級指定解決順序。Essbase 會使用下列資訊來定義計算優先順序:
-
成員解決順序
-
維度解決順序 (沒有公式的成員,但您未指定成員解決順序會繼承其維度的解決順序。含有公式的成員,但您未指定成員解決順序的解決順序為零。)
如果多個成員具有相同的解決順序,則會按照其維度在大綱中的反序來評估成員。稍後在大綱中出現的成員優先。
區塊儲存立方體之 MDX 查詢中定義的計算成員的繫結情況計算順序不同。
附註:
當成員公式相依於其他成員的值時,具有公式的成員必須具有比成員或成員所依賴的較高解決順序。例如,在 ASOSamp.Basic 大綱中,「平均單位 / 交易」取決於「單位」和「交易」的值。「平均單位 / 交易」的解決順序必須高於 「單位」與 「交易」。
使用解決順序屬性的範例
下列範例是以 ASOSamp.Basic 立方體為基礎。若要移除查詢結果中的不明確性,範例會使用解決順序特性來指定必要的計算優先順序。
下方顯示的試算表查詢會擷取目前年度一月與去年一月的售出單位數與交易數的資料。「差異」成員顯示目前年度與前一年之間的差異。「平均單位 / 交易」成員會顯示每筆交易售出單位數的比率。
圖 37-5 ASOSamp 之試算表查詢的結果。基本立方體顯示兩個比率 (C12) 之間的差異

下圖顯示這些成員的立方體大綱,以及套用至「差異」和「平均單位 / 交易」成員的公式。
圖 37-6 ASOSamp.Basic Cube,其中顯示測量、年和時間維度

計算每筆交易平均單位的差異時 (試算表範例中的儲存格 C12),結果可能是兩個比率之間的差異,或結果可能是兩個差異的比率。結果取決於 Essbase 是否優先於「差異」的公式或「平均單位 / 交易」的公式。
附加至大綱中成員的解決順序特性值,會決定 Essbase 評估公式的優先順序。解決順序設定越高,計算成員的順序就越晚。例如,解決順序為 1 的公式,會在解決順序為 2 的的成員之前解決。
在範例中,如果「差異」成員的解決順序低於「平均單位 / 交易」成員,則「差異」成員的公式優先,結果為兩個比率之間的差異。這是 ASOSamp.Basic 立方體中的案例,因為「差異」成員的解決順序為 10,而「平均單位 / 交易」成員的解決順序為 20。「差異」上的公式優先,因為「差異」成員具有較低的解決順序。試算表範例中查詢的儲存格 C12 結果為兩個比率之間的差異,如下表所示:
表 37-4 使用解決順序屬性來指定兩比率之間的差異
| 成員 | 解決順序 | 公式 | 差異與平均單位 / 交易的交集結果 (儲存格 C12) |
|---|---|---|---|
|
差異 |
10 |
目前年度 - 上一年度 |
本年度平均單位 / 交易 - 去年平均單位 / 交易 0.94894382 (儲存格 C6) - 0.954252111 (儲存格 C9) = -0.005308291 (儲存格 C12) |
|
平均單位 / 交易 |
20 |
單位 / 交易 |
或者,如果您變更 ASOSamp.Basic 立方體,而將「平均單位 / 交易」成員的解決順序比「差異」成員低,則「平均單位 / 交易」成員的公式優先,結果為兩個差異的比率,如下表與試算表範例所示:
表 37-5 使用「解決順序」屬性來指定兩個差異的比率
| 成員 | 解決順序 | 公式 | 差異與平均單位 / 交易的交集結果 (儲存格 C12) |
|---|---|---|---|
|
差異 |
20 |
目前年度 - 上一年度 |
單位差異 (本年度對上年度) / 交易差異 10585 (儲存格 C10) / 11340 (儲存格 C11) = 0.933421517 (儲存格 C12) |
|
平均單位 / 交易 |
10 |
單位 / 交易 |
圖 37-7 ASOSamp 的試算表查詢結果。基本立方體顯示兩個差異的比率 (C12)
