成員公式中的解決順序

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

「解決順序」可能會影響查詢作業的效能。「解決順序」特性的值決定了成員公式的計算優先順序。系統在計算有指定「解決順序」的成員公式時,會依照從最低至最高的「解決順序」來計算。因此當某個成員公式相依於另一個動態計算成員的值時,擁有公式之成員的「解決順序」必須高於它要相依的那個動態計算成員。

表格 11-15 預設的解決順序設定

維度類型 預設的「解決順序」值
已儲存成員 0
稀疏維度 10
密集維度 - 科目 30
密集維度 - 時間 40
密集維度 – 二次科目 60
密集維度 – 二次時間 70
二次 100
屬性維度 90

如果某個稀疏成員公式會參照擁有「DynamicCalc」資料儲存的密集維度,則該參照會遭到忽略,原因是根據預設,系統會先計算稀疏維度 (稀疏的預設解決順序為 10,而密集科目的預設解決順序為 30)。這種行為是可以改變的,方法是將自訂的「解決順序」指派給稀疏維度,讓稀疏維度的「解決順序」高於密集維度。

範例:

在下列範例中,每個成員都有不同的「解決順序」,以及相對應的評估。

Dimension1:

  • 科目

  • A1

  • A2

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

Dimension2:

  • 資料來源

  • DataInput

  • CustomInput

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

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


解決順序:一月的範例

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

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

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


解決順序比率的範例

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


比率和差異的範例

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

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


比率的解決順序比差異低的範例

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


比率的解決順序比差異低的範例