メンバー式の順序の解決

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月期の交差について次のデータセットを考えてみます:


1月の解決順の例

比率と差異に対して異なるSolveOrderを使用する計算

ケース1: 差異よりSolveOrderが高い比率

このケースでは、差異が最初に計算され、次に対応する比率が計算されます。


比率の解決順の例

差異の比率は、(Variance->A1)/(Variance->A2)のように計算されます。


比率と差異の例

ケース2: 差異よりSolveOrderが低い比率

このケースでは、比率が最初に計算され、次に対応する差異が計算されます。


差異より低い比率の例

比率の差異は、(Ratio->DataInput) – (Ratio->CustomInput)のように計算されます。


差異より低い比率の例