成員公式中的解決順序 (僅限混合模式)

「解決順序」是中繼資料特性,可以針對定義成員評估順序的維度或成員設定。系統會在查詢執行期間套用解決順序。

「解決順序」可能會影響查詢作業的效能。解決順序特性值決定了成員公式的計算優先順序。有指定解決順序的成員公式在計算時,會依最低到最高的順序計算。

您可以為維度或成員設定解決順序,也可以使用預設的 Essbase 解決順序。您可以設定的最小解決順序為 0,最大值則為 127。解決順序若較高,代表成員會比較晚被計算;例如,解決順序為 1 的成員會在解決順序為 2 的成員之前解決。

Note:

這只適用於混合最佳化應用程式。請參閱:混合聚總應用程式模型最佳化

Table 12-14 預設的解決順序設定

維度/成員類型 預設的解決順序值
已儲存的成員 0
稀疏維度 10
密集維度 - 科目 30
密集維度 - 時間 40
密集維度 50
屬性維度 90
二次計算動態成員 100

總而言之,混合模式的預設解決順序指定已儲存成員的計算順序在動態計算成員之前,稀疏維度的計算順序在密集維度之前,順序依它們在大綱中的顯示順序而定 (從上到下)。

沒有指定解決順序的動態成員 (含或不含公式) 會繼承其維度的解決順序,若被標記為二次計算則除外。二次計算是一種可以在非混合模式下,對含有必須計算兩次才能產生正確值之公式的成員套用的設定。

二次計算不適用於混合模式,而且所有標記為二次計算的成員都會在屬性之後最後計算。在混合模式下,如果預設的解決順序不符合您的需求,請實作自訂解決順序而不是二次計算。

混合模式的預設解決順序針對以下案例做了最佳化:

  • 前置參照,其中動態成員公式會參照大綱中順序在後面的成員。混合模式沒有大綱順序相依性。
  • 根據大綱順序的子值聚總會比較符合使用對等公式的聚總。
  • 稀疏公式內以動態密集成員為相依項目。在混合模式下,稀疏公式若參照密集動態成員,則會忽略該參照,因為稀疏維度會先被計算。若要變更此行為,請指定順序比密集維度之解決順序高 (更晚計算) 的解決順序給稀疏維度。

如果您需要使用非預設的解決順序,可以在混合模式下為成員設定自訂解決順序。請參閱設定解決順序 (僅限混合模式) 以瞭解如何修改解決順序。

如果您實作自訂解決順序,它會置換預設的解決順序。成員或維度的解決順序如果相同,則以它們在大綱中的顯示順序 (從上到下) 解決此衝突。

若要改變這種行為,可以指定自訂的解決順序給稀疏維度,但此順序必須高於密集維度的解決順序。

範例:

在以下範例中,每個成員的解決順序都不同。

科目 (稀疏,預設的解決順序為 30)

  • A1

  • A2

  • 比率 – 成員公式 [A1 / A2]

(預設的解決順序 30 繼承自科目)

資料來源 (稀疏,預設的解決順序為 10)

  • DataInput

  • CustomInput

  • 差異 – 成員公式 [DataInput - CustomInput]

(預設的解決順序 10 繼承自資料來源)

下列資料集代表在一月期間的交集

交集的 1 月資料集

「比率」和「差異」之解決順序不同時的計算

案例 1:「比率」的解決順序比「差異」的解決順序高

在這個案例中,系統會先計算「差異」,然後是相對應的「比率」。

案例 1:先計算「差異」,然後是相對應的「比率」

「差異」之「比率」的計算方式為 (差異->A1)/(差異->A2)。

案例 1:計算後的差異之比率

案例 2:「比率」的解決順序比「差異」的解決順序低

在這個案例中,系統會先計算「比率」,然後是相對應的「差異」。

案例 2:先計算「比率」,然後是相對應的「差異」

「比率」之「差異」的計算方式為 (比率->DataInput) – (比率->CustomInput)。

案例 2:計算後的比率之差異