SolveOrderは、ディメンションまたはメンバーのいずれかに設定でき、メンバー評価の順序を定義するメタデータ・プロパティです。解決順は問合せ実行時に適用されます。
SolveOrderは問合せのパフォーマンスに影響を与える可能性があります。SolveOrderプロパティの値により、メンバー式が計算される優先度が決定します。指定された解決順を持つメンバーの式は、低い解決順から高い解決順に計算されます。メンバー式が別の動的計算メンバーの値に依存する場合、式があるメンバーの解決順は、依存する動的計算メンバーより高くなります。
表11-15 デフォルトの解決順設定
ディメンション・タイプ | デフォルトのSolveOrder値 |
---|---|
保管済メンバー | 0 |
疎ディメンション | 10 |
密ディメンション - 勘定科目 | 30 |
密ディメンション - 時間 | 40 |
密ディメンション - 2パス勘定科目 | 60 |
密ディメンション - 2パス時間 | 70 |
2パス | 100 |
属性ディメンション | 90 |
疎メンバー式が、DynamicCalcデータ・ストレージを持つ密メンバーを参照する場合、デフォルトで疎ディメンションが最初に計算されるため(疎のデフォルトSolveOrder – 10、密の勘定科目のデフォルトSolveOrder - 30)、その参照は無視されます。この動作は、密ディメンションの解決順より高い疎ディメンションにカスタムの解決順を割り当てることにより変更できます。
例:
異なるSolveOrderのメンバーと対応する評価を使用する例を考えてみます。
Dimension1:
勘定科目
A1
A2
比率 – メンバー式[A1 / A2]
Dimension2:
DataSource
DataInput
CustomInput
差異 – メンバー式[DataInput - CustomInput]
1月期の交差について次のデータセットを考えてみます:
比率と差異に対して異なるSolveOrderを使用する計算
ケース1: 差異よりSolveOrderが高い比率
このケースでは、差異が最初に計算され、次に対応する比率が計算されます。
差異の比率は、(Variance->A1)/(Variance->A2)のように計算されます。
ケース2: 差異よりSolveOrderが低い比率
このケースでは、比率が最初に計算され、次に対応する差異が計算されます。
比率の差異は、(Ratio->DataInput) – (Ratio->CustomInput)のように計算されます。