IBP_DB() コマンドに基づいて定義されたエキスパートルールの概要

エキスパートルールはIBP_DB() コマンドを使用して定義することもできます。まずはエキスパート計算ルールを定義する必要があります。「エキスパートルールの定義」を参照してください。

Infor BI OLAP DB() 関数構文は以下の通りです。

DB(Cube,Dim1Element,Dim2Element,...,DimxElement)
Cube = the name of the external Cube.
Dim1Element = an element of the first dimension of Cube, Dim2Element is an element of the 2nd dimension of Cube, etc...
注: 
  • ピボット属性の追加のディメンションを含む、DB() のすべてのディメンションは、正しい順番で指定されなければなりません。ピボット属性はサイクルモジュール固有でもかまいませんが、DB() コマンドで定義済である必要があります。
  • IBP_DB () は、エキスパート計算ルールに使用される内部のコマンドで、OLAP DB () 関数を素早く定義するメソッドです。
  • OLAP ([更新] オプションで [開始] または [再開] を使用してサイクル期間を開始する) で計算ルールを作成する際、IBP_DB() コマンドを含む [エキスパートルール] 内の全ルールは、OLAP キューブ用ルールの対応する DB() 関数に変換されます。この変換は変数の代入前に発生します。

変換ルール:

  • パラメーターの名前付け規則、たとえば <parameter name>="<parameter value>" があります。
    • パラメーター値に「,」または「)」が含まれる場合は、二重引用符が必要です。含まれない場合、引用符は除いて構いません。
    • 「=」と次の「,」の間の (トリミングされた) テキストはすべてパラメーター値と見なされます。
    • 引用符が使用された場合、たとえば、\"value\".のように、すべての「内部」引用は「\」を使って「エスケープ」しなければなりません。
  • 計算ターゲットと異なるディメンション要素のみ指定する必要があります。
    • ソースキューブから同じディメンションと要素を読み込む %cube および !%items のようなディメンション変数にのみ基づくパラメーターは、指定する必要がありません。
    • 欠落しているディメンションは、OLAP DB() 関数内で適切なキューブディメンション名に置き換えられます。
  • IBP_DB はサイクル期間のディメンションに動的に調整します (つまり、関連するピボットディメンションの追加)。IBP_DB コマンド内に欠落しているピボットディメンションがあれば、OLAP DB() 関数内の適切なキューブディメンションに置き換えられます。
  • ディメンションは、対応するディメンションのパラメーターを表すために 1 文字に省略されます。
    • i = アイテムディメンション
    • l = 場所
    • s = シナリオ
    • p = 期間
    • m = メジャー
    • ia1 = 品目属性 1 (ia2 など)
    • la1 = 場所の属性 1 (la2 など)

例 (2 つの品目属性がエキスパートルールに使用される場合):

A.現在のシナリオを、このサイクルの前 (1 つ前) のサイクル期間の公開済シナリオに設定します、そのほかすべてのディメンション:

IBP_DB(cube="%previouscube(1)", s=%previouspublishedscenario)

は、以下の通りに変換されます。

DB(%previouscube(1), !%items, !%locations, !%periods, %previouspublishedscenario, !%measures, !%itemsA1, !%itemsA2)

B.現在の期間を、前 (1 つ前) の期間の値に設定します。同じメジャーとディメンション:

IBP_DB(p="GETATTR(%periods,!%periods,1,'PreviousPeriod')")

は、以下の通りに変換されます。

DB(%cube, !%items, !%locations, GETATTR(%periods,!%periods,1,'PreviousPeriod'), !%scenarios, !%measures, !%itemsA1, !%itemsA2)

C. 現在の期間を、最初の子期間の値に設定します。同じメジャーとディメンション:

IBP_DB(p="DE.CHILDNAME(%periods, !%periods,1)")

は、以下の通りに変換されます。

DB(%cube, !%items, !%locations, DE.CHILDNAME(%periods, !%periods,1) ,!%scenarios, !%measures, !%itemsA1, !%itemsA2)

注: 生成されたルールテキストの検証は OLAP で発生し、そのほかのエキスパートルールに基づいて検査ログを使って報告されます。