@QUERYBOTTOMUP
Essbaseの@QUERYBOTTOMUP計算関数は、計算に必要な交差を識別し、問合せ時間が入力データ・サイズに比例するようにして、問合せ時間を最適化するのに役立ちます。
式の前でこの関数を使用して、式の実行時に問合せでデータ依存セルのみを使用するように強制します。ノート: リリース21以降では、この関数は@NONEMPTYTUPLEを置き換えます。
この関数は、数式仕様の前に式ディレクティブとして使用する必要があります。このディレクティブは、式が長く、多数のディメンション間演算子が含まれている場合に使用することをお薦めします。このような数式を使用すると、数式キャッシュが大きくなり、スパース(比較的小さい入力データ・セットを持つ)になります。このディレクティブを使用すると、問合せの実行がボトムアップ・モードで発生し、数式キャッシュがスパースな場合に依存関係分析をすばやく解決できます。
構文
@QUERYBOTTOMUP();
メンバー式に適用すると、式のすべての従属メンバーが最初に分析されます(つまり、式はボトムアップ・モードで実行されます)。
この関数は、計算スクリプトで使用することもできます(例を参照)。
例
次のアウトライン式の例は、Compensation Analyticsサンプル・キューブに基づいています。このサンプル・キューブのアプリケーション・ワークブックは、ApplicationsギャラリのHR Analysisディレクトリにあります。
@QUERYBOTTOMUP();
IF
("Headcount under Target"!=#Missing)
"Market Movement"*"Size %"->"Actual"->"Sep17"->"No JG"->"unassigned_OU"->"No Job Code"->
"No EE"->"No_MktComp"*"BASE"*"Competitive Incr %"->"Actual"->"Sep17"->"No Region"->
"No JG"->"unassigned_OU"->"No Job Code"->"No EE"->"No_MktComp";
ENDIF;
次の例は、計算スクリプトのユースケースです。
"Headcount under Target"(
@QUERYBOTTOMUP();
IF
(
"COMPARATIO"!=#missing AND
"COMPARATIO"<="Competitive Target"->"No JG"->"No Region"->"unassigned_OU"->"No EE"->"No Job Code"->"No_MktComp"
)
1;
ENDIF;
)