追加のエキスパートルールの例
ディメンション定数
SCP にある品目、場所、および期間用に作成するディメンション定数を計算ルール内に指定できます。ディメンションのすべての要素を指定して、定数要素の値を受け取る場合に使用できます。また、ディメンション定数 (フィルタテキスト) のターゲット計算の指定に使用するほうが適切な場合もあります。
たとえば、すべての場所を指定して、場所の定数 LCONST の値を受け取る場合は、エキスパートルール定義のテキストは ['LCONST']
です。
定数要素のターゲットで計算を指定するには、フィルタテキストは 'LCONST'
です。
Null 値
値が存在してはならない場合に OLAP に 0 値を入力するのは推奨されません。その代わりに、NULL の定義には #NA
を使用します。
たとえば、計算ルール (計算内のフィルタ済要素) に NULL の値を指定するには、エキスパートルールの定義テキストは #NA
です。
STET コマンド
計算のフィルタ済要素の一部については、OLAP ルールエンジンを構成して、既存の保存済の値を使用 (かつ、そのフィルタまたは下位の選択については計算しない) できます。この場合は、STET (「そのまま」を意味するラテン語) コマンドを使用します。このコマンドは OLAP にそのターゲットディメンションを計算せずに既存の値をそのまま残すように指示します。
GETATTR コマンド
このコマンドを使用すると、キューブディメンションの 1 つで属性を取得できます。たとえば、計算内で使用できる品目属性、場所属性、または期間属性などです。
構文:
GETATTR(DimName,ElemName,ATabID,FieldName)
属性 | 説明 |
---|---|
DimName
|
ディメンション名: 品目、場所、期間、メジャー、シナリオ。 |
ElemName
|
要素名 |
ATabID
|
属性テーブル番号 (デフォルトは「1」) |
FieldName
|
属性フィールド名 |
たとえば、期間ディメンション内の期間要素の HPreviousPeriod (階層上の以前の期間) 属性を取得します。
GETATTR(%periods, !%periods,1,'HPreviousPeriod')
DB コマンド
このコマンドを使用すると、キューブの特定の値を問い合わせたり、類似するディメンションで代替キューブを参照したりできます。
構文:
DB(Cube,Dim1Element,Dim2Element,...,DimxElement)
属性 | 説明 |
---|---|
Cube
|
外部キューブの名前 |
Dim1Element
|
そのキューブの最初のディメンションの要素 |
Dim2Element
|
そのキューブの 2 番目のディメンションの要素など |
SCP には 5 つの標準ディメンション (品目、場所、期間、メジャー、シナリオ) と、そのサイクル期間モジュール (またはキューブ) に定義された各ピボット属性の品目および場所の追加ディメンションがあります。これらのすべてのディメンションは DB コマンドに順番に指定する必要があります。現在のキューブと参照キューブがディメンションを共有している場合は、特定ディメンションの引数を変数として指定できます。したがって、キューブが共有するディメンションのすべての要素が計算の対象になります。ディメンション引数を変数として指定するには、ディメンション名を引数として指定し、前にエクスクラメーションマークを付け、!items
とします。
たとえば、属性 HPreviousPeriod で表された期間要素と他のディメンションの一致要素のキューブからメジャー NSO_NET_SUPPLY の値を取得する場合は、次のようになります。
DB(%cube, !%items, !%locations, GETATTR(%periods, !%periods,1,'HPreviousPeriod'), !%scenarios, 'NSO_NET_SUPPLY')