Red Hat Training

A Red Hat training course is available for Red Hat Decision Manager

第7章 ガイド付きデシジョンテーブルの列の種類

ガイド付きデシジョンテーブルの Add a new column ウィザードは、次の列オプションを提供します。(Include advanced options を選択して、すべてのオプションを表示します)。

Add a new column ウィザードで必要な列タイプとパラメーターは、以下のセクションで説明します。

重要: 列パラメーターに必要なデータオブジェクト

ファクトパターン、フィールドなど、このセクションで説明するいくつかの列パラメーターは、ガイド付きデシジョンテーブルと同じパッケージにすでに定義されているデータオブジェクトだけで設定されるドロップダウンオプションを提供します。パッケージで利用可能なデータオブジェクトは、Project Explorer の Data Objects パネル、およびガイド付きデシジョンテーブルデザイナーの Data Objects タブに一覧表示されます。必要に応じてパッケージにデータオブジェクトを追加したり、ガイド付きデシジョンテーブルデザイナーの Data ObjectsNew item で、別のパッケージからインポートしたりできます。データオブジェクトの作成の詳細は 「データオブジェクトの作成」 を参照してください。

7.1. "Add a Condition (条件の追加)"

条件はファクトパターンを表し、ルールの左側 (WHEN) に定義されます。この列オプションで、特定のフィールド値を使用して、データオブジェクトが存在するかどうかを確認し、ルールのアクション (THEN) 部分に影響を及ぼす条件列を 1 つ以上定義します。条件テーブルでファクトにバインディングを定義したり、以前定義したものを選択できます。パターンを無効にすることもできます。

以下に例を示します。

when
  $i : IncomeSource( type == "Asset" ) // Binds the IncomeSource object to the $i variable
then
  ...
end
when
  not IncomeSource( type == "Asset" ) // Negates matching pattern
then
  ...
end

バインディングを指定したら、フィールド制約を定義できます。同じファクトパターンのバインディングを使用して列を 2 つ以上定義すると、フィールド制約は、同じパターンに定義された複合フィールド制約になります。1 つのモデルクラスに複数のバインディングを定義すると、それぞれのバインディングは、そのルールの条件 (WHEN) で異なるモデルクラスになります。

必須の列パラメーター

この列タイプを設定するには、Add a new column ウィザードに以下のパラメーターが必要です。

  • Pattern: テーブルの条件に使用しているファクトパターンのリストから選択するか、新しいファクトパターンを作成します。ファクトパターンは、パッケージで利用可能なデータオブジェクト (詳細は 必要なデータオブジェクト の注記を参照) と、指定するモデルクラスバインディングの組み合わせとなります(例: LoanApplication [application] または IncomeSource [income] で、括弧の部分は特定のファクトタイプに対するバインディング)。
  • Entry point: 可能な場合は、ファクトパターンのエントリーポイントを定義します。エントリーポイントは、指定するとファクトが Red Hat Decision Manager デシジョンエンジンに組み込まれるゲートまたはストリームです。(例: Application StreamCredit Check Stream)。
  • Calculation type: 以下の計算タイプの中から 1 つ選択します。

    • Literal value: 演算子を使用して、セルの値とフィールドを比較します。
    • Formula: セルの表現を評価して、フィールドと比較します。
    • Predicate: フィールドは必要ありません。表現を true または false で評価します。
  • Field: 以前指定したファクトパターンからフィールドを選択します。フィールドオプションは、プロジェクトの データオブジェクト パネルのファクトファイルに定義されています(例: LoanApplication ファクトタイプ内の amount フィールドまたは lengthYears フィールド)。
  • Binding (optional): 必要に応じて、以前選択したフィールドのバインディングを定義します。(例: LoanApplication [application] パターン、amount フィールド、および equal to 演算子に対してバインディングを $amount に設定すると、終了条件は application : LoanAppplication($amount : amount == [value]) になります)。
  • Operator: 事前に指定したファクトパターンおよびフィールドに適用する演算子を選択します。
  • Value list (任意): コンマおよび空白文字で区切った値オプションのリストを入力して、ルールの条件 (WHEN) 部分のテーブル入力データを制限します。この値リストを定義すると、値はその列のテーブルセルにドロップダウンリストとして提供され、ユーザーは、そこからオプションを 1 つだけ選択できます。(例: これらの 3 つのオプションのみを指定する Monday, Wednesday, Friday)。
  • Default value (任意): 事前定義した値オプションのいずれかを、新しい列のセルに自動的に表示するデフォルト値として選択します。デフォルト値が指定されていないと、テーブルのセルはデフォルトでは空欄となります。また、Project Explorer の Enumeration Definitions パネルにリストした、プロジェクトに事前に設定したデータの列挙からデフォルト値を選択できます(列挙は、MenuDesignProjects[select project]Add AssetEnumeration から作成できます)。
  • Header (説明): 列にヘッダーテキストを追加します。
  • Hide column: 選択すると列が非表示になり、選択を解除すると列が表示されます。

7.1.1. 条件列セルに any other 値を追加

ガイド付きデシジョンテーブルにおける単純な条件列では、以下のパラメーターを設定した場合に、列のテーブルセルに any other 値を適用できます。

  • 条件列の Calculation typeLiteral value に設定している。
  • Operator を、等価演算子 == または非等価演算子 != に設定している。

any other 値は、テーブルにすでに定義されているルールに明示的に定義している値以外を設定できるルールを有効にします。

以下に例を示します。

when
  IncomeSource( type not in ("Asset", "Job") )
  ...
then
  ...
end

手順

  1. == 演算子または != 演算子を使用する条件列のセルを選択します。
  2. テーブルデザイナーの右上のツールバーで、EditInsert "any other" value をクリックします。