ルール・ロジックの追加

ルール・ロジックの「追加/編集」タブを使用して、メンバー値のリストでルール・ロジック文の各行を追加します。

ルール・ロジックの「追加/編集」タブは、次の要素で構成されます:

ルール・ロジック文を追加するには:

  1. ルール・ロジック・エディタで、ルール・ロジックの「追加/編集」タブを選択します。

  2. 「ルールの要約」グリッドから、「追加」をクリックします。

    空白の行が表示されます。

  3. テストするルールを入力します。

    注意:

    金額を評価するために等号を使用するときは、二重等号(==)を使用してください。

  4. オプション: イメージは「編集」アイコンを示します。をクリックします。

  5. 「ルール・ロジック」「交差タイプ」フィールドで、マルチディメンショナル参照の交差タイプを選択します。

    使用可能な交差タイプ:

    • ソース交差 - 値を"~"文字で囲みます。

    • 変換されたソース交差 - 値を'文字で囲みます。

    • ターゲット交差 - 値を"|"文字で囲みます。

    マルチディメンショナル参照を参照してください。

  6. 「ディメンション」から、値の取得元のディメンションを選択します。

  7. 「メンバー値」から、ディメンションの値を選択します。

  8. 「交差に追加」をクリックします。

    メンバー値が「表示」領域に追加されます。

  9. 「OK」をクリックします。

「ルール・ロジック」タブ

「ルール・ロジック」タブでは、ターゲット・システムからディメンションを直接取得するように選択できます。これにより、必要なディメンションを正確に入力し順序付けできます。

イメージは「ルール・ロジック」画面を示します

ルール・ロジックの「追加/編集」画面の「ルールの要約」グリッドまたは「表示の要約」グリッドからイメージは「編集」アイコンを示します。をクリックして、「ルール・ロジック」タブを表示します。

「ルール・ロジック」タブには、次の要素が含まれます:

  • ルールおよび表示: 作成されるルールと表示ルールをそれぞれ表示する領域。

  • 交差タイプ - ターゲット・ディメンションの取得フォーマットのタイプを選択できます。

    ルール・ロジック文にマルチディメンショナル参照が選択されると、FDMEEでは交差タイプが使用されます。マルチディメンショナル参照は、ターゲット・システムの勘定科目値、FDMEEソース・データ、ターゲット・データまたはFDMEEソース変換済データを取得します。マルチディメンショナル参照を参照してください。

マルチディメンショナル参照

マルチディメンショナル参照は、ターゲット・システムの勘定科目値、FDMEEソース・データまたはFDMEE変換済データを取得します。マルチディメンショナル参照は、「ルール・ロジック」列および確認ルール・フォームの「表示」列で使用できます。

ルール・データ・ソース

FDMEEは、次の3つのソースからデータを取得できます:

  • ターゲットシステム・データ

  • FDMEEソース・データ

  • FDMEE変換済データ

ターゲット・システム・データ

ルールの先頭と末尾にパイプ文字(|)がある次のフォーマットを使用すると、FDMEEで、任意のディメンションのターゲットシステム値を取得できます。

それ以外で指定しないかぎり、パラメータはオプションになります。

|Scenario, Period, Year, View, Value, Entity, Account (Required), ICP, Custom1, Custom2,Custom3, Custom4, Custom5, Custom6, Custom7, Custom8, Custom9, Custom10, Custom11, Custom12, Custom13, Custom14, Custom15, Custom16, Custom17, Custom18, Custom19, Custom20|

次の例は、ターゲットシステム値を取得する方法を示します。各例では、残高(Balance)がターゲット勘定科目です。参照されないディメンションについては、プレースホルダとしてカンマを使用する必要があります。

例1

POVで設定されたターゲット期間とシナリオ(カテゴリ)に対する残高の値と、ロケーションに割り当てられたFDMEE確認エンティティ・グループの各エンティティに対する残高の値を参照します。例のルールは、ターゲット勘定科目が$10未満のときに、確認をパスします。

|,,,,,Balance,,,,,,,,,,,,,,,,,,,,,,| > -10.00 and |,,,,,Balance,,,,,,,,,,,,,,,,,,,,,,| < 10.00

例2

指定されたディメンションの残高の値を参照します。

|Actual,March,2002,YTD,Ohio,Balance,Michigan,Engines,Ford,Trucks,[None],,,,,,,,,,,,,,,,,USD| > 0

例3

指定されたディメンションおよび前期間の残高の値を参照します。

|Actual,-1,2002,YTD,Ohio,Balance,Michigan,Engines,Ford,Trucks,[None],,,,,,,,,,,,,,,,,USD| > 0

例4

FDMEE POVで設定されたターゲット・シナリオ(カテゴリ)、前のターゲット期間、およびロケーションに割り当てられたFDMEE確認エンティティ・グループの各エンティティに対する残高の値を参照します。

存在しないすべてのカスタム・ディメンションのデフォルトは[なし]です。ICPディメンションのデフォルトは[ICPなし]です。年ディメンションのデフォルトは、POVで設定された年です。通貨ディメンションのデフォルトは0です。表示ディメンションのデフォルトはYTDです。

|,-1,,,,Balance,,,,,,,,,,,,,,,,,,,,,,| > 0

FDMEEソース・データ

チルダ文字(~)でルールを開始および終了する次のフォーマットは、ターゲット・メンバーにマップされてFDMEEにロードされたデータから値を取得します。

それ以外で指定しないかぎり、パラメータはオプションになります。UD#と示されているパラメータは、ユーザー定義パラメータです。

~FDMEE Category, FDMEE Period, Year (Field Not Applicable), FDMEE View, FDMEE Location, Source Entity(Required), Source Account(Required), Source ICP, Source UD1,Source UD2, Source UD3, Source UD4, Source UD5, Source UD6, Source UD7,Source UD8, Source UD9, Source UD10, Source UD11, Source UD12, Source UD13,Source UD14, Source UD15, Source UD16, Source UD17, Source UD18, Source UD19, Source UD20~

FDMEE変換済データ

抑音アクセント文字(`)のあるルールで開始または終了する次のフォーマットでは、FDMEEにロードされたデータからプル値を取得します。特別に指定されないかぎり、パラメータはオプションです。

`FDMEE Category, FDMEE Period, Year (Field Not Applicable), FDMEE View, FDMEE Location, Entity(Required), Account(Required), ICP, Custom1, Custom2, Custom3, Custom4, Custom5, Custom6, Custom7, Custom8, Custom9, Custom10, Custom11, Custom12, Custom13, Custom14, Custom15, Custom16, Custom17, Custom18, Custom19, Custom20`

算術演算子

算術演算子(+、-、x、/) - 算術演算子を選択した場合、確認ルールの金額は、指定された式を元の金額に対して計算した金額に等しくなります。たとえば、演算子「x」を選択し、「ルール」フィールドに2を入力した場合、新しいレコードの金額は元の金額に2を掛けた金額となります。式に使用可能な算術演算子は次のとおりです:

  • + (加算)

  • - (減算)

  • * (乗算)

  • / (除算)

  • math.abs ()

If/Then/Else

確認ルールでは、マルチディメンショナル参照の実行後If/Then/Else文を受け入れます。この文では、if文が"true"に評価された場合に実行される第1の経路およびif文が"false"に評価された場合に実行される第2の経路が指定されます。

If/Then/Else文を使用すると、警告メッセージやフラグとしてカスタム・フィールドの値をレポートで使用できます。

次の例では、結果が100-1500のとき、「確認レポート(警告)」に"Amount between 100 and 1500"と出力されます。この例では次の3つのデータ勘定科目を参照します:

  1. 24000050: 1000

  2. 24000055: 500

  3. 24000060: 10

この例のこの計算は1000 + 500/10で、結果が1050です。

スクリプトはJythonコードによって記述されます:

 def runVal():
       dbVal=abs((|,,,,,BERLIN,24000050,[ICP None],[None],[None],[None],[None],,,,,,,,,,,,,,,,|)+(|,,,,,BERLIN,24000055,[ICP None],[None],[None],[None],[None],,,,,,,,,,,,,,,,|)/(|,,,,,BERLIN,24000060,[ICP None],[None],[None],[None],[None],,,,,,,,,,,,,,,,|))
       PstrCheckMessage1=''
msg2=''
msg3=''
       if(dbVal<100):  
          RESULT=True
          PstrCheckMessage1='Amount < 100.'
       elif(dbVal>100  and dbVal<=1500):
          RESULT=True
          PstrCheckMessage1='Amount between 100 and 1500.'
       elif(dbVal>1500  and dbVal<=9999):
          RESULT=True
          PstrCheckMessage1='Amount between 1501 and 9999.'
       else:
          RESULT=False
          PstrCheckMessage1='Amount greater than 9999!'
       return [RESULT,PstrCheckMessage1,msg2,msg3]

注意:

ステータス表にデータを書き込むには、return文とともに3つのメッセージ・パラメータを含める必要があります。1つのメッセージのみを書き込む場合でも、他の2つのメッセージ・パラメータは必要です。

このスクリプトの実行結果は確認レポート(警告あり)に表示されます:

確認レポート(警告あり)イメージ