第4章 ガイド付きディシジョンテーブル

ガイド付きデシジョンテーブルは、アップロードされたデシジョンテーブルのスプレッドシートに代わる方法で、ウィザードを用いてビジネスルールを表形式で定義します。ガイド付きデシジョンテーブルでは、プロジェクトの指定のデータオブジェクトを基にして Decision Central の UI ベースのウィザードに従ってルール属性、メタデータ、条件、およびアクションの定義します。ガイド付きデシジョンテーブルの作成後、定義したルールはその他すべてのルールアセットとともに Drools Rule Language (DRL) ルールにコンパイルされます。

ガイド付きデシジョンテーブルに関連するすべてのデータオブジェクトは、ガイド付きデシジョンテーブルと同じプロジェクトパッケージに存在する必要があります。同じパッケージのアセットはデフォルトでインポートされます。必要なデータオブジェクトとガイド付きデシジョンテーブルの作成後、ガイド付きデシジョンテーブルデザイナーの Data Objects タブを使用して、必要なデータオブジェクトがすべてリストされていることを検証したり、 新規アイテム を追加してその他の既存データオブジェクトをインポートしたりできます。

4.1. 交通違反のガイド付きデシジョンテーブルの作成

ガイド付きデシジョンテーブルデザイナーを使用して、運転者の違反とその違反による罰金や点数を指定する交通違反のガイド付きデシジョンテーブルを作成します。

前提条件

Violation および Driver データオブジェクトの両方が作成されている必要があります。

手順

  1. Decision Central にログインします。 MenuDesignProjects をクリックした後、Driver department traffic violations をクリックします。
  2. Create New AssetGuided Decision Table をクリックし、以下を入力します。

    • Guided Decision Table: SpeedViolationRule
    • Package: com.myteam.driverdepartmenttrafficviolations
  3. Hit Policy プルダウンメニューで Unique Hit を選択します。
  4. Table format セクションの Extended entry, values defined in table body を選択します。
  5. Ok をクリックして ガイド付きデシジョンテーブル デザイナーを開きます。

    図4.1 ガイド付きディシジョンテーブルデザイナー

    dec table

4.1.1. Violation Type 列の挿入

Violation Type 列には、運転者の運転速度やアルコールや薬物の影響下で運転していたかどうかなど、違反の詳細が含まれます。

前提条件

交通違反のガイド付きデシジョンテーブルが作成されている必要があります。

手順

  1. ColumnsInsert Column をクリックし、Include advanced options を選択します。

    図4.2 Columns タブ

    column tab
  2. Add an Attribute column を選択し、Next をクリックします。

    図4.3 Add a new column ウインドウ

    new column
  3. Ruleflow-group を選択し、Finish をクリックします。
  4. Attribute columns を展開し、Default value フィールドに trafficViolation と入力します。

    図4.4 Attribute columns ウインドウ

    attrib column
  5. Insert Column をクリックし、Add a ConditionPattern+Create a new Fact Pattern を選択します。
  6. Fact type プルダウンメニューで Violation を選択し、Binding フィールドに v を入力し、OK をクリックします。

    図4.5 Create a new fact pattern ウインドウ

    fact pattern
  7. Calculation typeLiteral value を選択します。

    図4.6 Calculation type オプション

    literal value
  8. Field を選択し、Field プルダウンメニューで type を選択します。
  9. Operator を選択した後、Operator プルダウンメニューで equal to を選択します。
  10. Value options を選択し、Value list (optional) フィールドに Speed,Driving while intoxicated,DWI=Driving while under the influence of drugs と入力します。
  11. Additional info を選択し、Header (description) フィールドに Violation Type と入力します。Finish をクリックします。

    図4.7 Violation Type ヘッダー

    violation columns
  12. Insert Column をクリックし、Add a ConditionPattern を選択し、Pattern プルダウンメニューで Violation[v] を選択します。
  13. Calculation typePredicateField を選択し、 actualSpeed-speedLimit > $param と入力します。
  14. Value options を選択した後 Additional info を選択し、Header (description) フィールドに Speed Limit (MPH) > と入力します。
  15. Finish をクリックします。

    図4.8 Speed Limit (MPH) > ヘッダー

    speed header
  16. Insert Column をクリックし、Add a ConditionPattern を選択し、Pattern プルダウンメニューで Violation[v] を選択します。
  17. Calculation typePredicate を選択します。
  18. Field を選択し、Field フィールドに actualSpeed-speedLimit < $param と入力します。
  19. Operator を選択し、Value options を選択した後、Additional info を選択します。
  20. Header (description) フィールドに Speed Limit (MPH) < と入力し、Finish をクリックします。

    図4.9 Condition columns

    cond columns

4.1.2. Fine Amount および Points 列の挿入

Fine Amount および Points 列には、対応する Violation Type フィールド値を基にした罰金と点数が含まれます。

前提条件

Violation Type 列が挿入されている必要があります。

手順

  1. Insert Column をクリックし、Set the value of a fieldPattern を選択し、Pattern プルダウンメニューで Violation[v] を選択します。
  2. Field を選択し、Field プルダウンメニューで fineAmount を選択します。
  3. Value options を選択した後 Additional info を選択し、Header (description) フィールドに fineAmount と入力します。
  4. Update engine with changes オプションを選択し、Finish をクリックします。

    図4.10 Fine Amount ヘッダー

    fine amount
  5. Insert Column をクリックし、Set the value of a fieldPattern を選択し、Pattern プルダウンメニューで Violation[v] を選択します。
  6. Field を選択し、Field プルダウンメニューで points を選択します。
  7. Value options を選択した後 Additional info を選択し、Header (description) フィールドに Points と入力します。
  8. Update engine with changes オプションを選択し、Finish をクリックします。

    図4.11 Action columns

    point amount
  9. Columns をクリックし、Attribute columns を展開し、 Hide column オプションを選択します。

    図4.12 Attribute columns

    hide column

4.1.3. ガイド付きデシジョンテーブル行の挿入

ガイド付きデシジョンテーブルの列を作成したら、デシジョンテーブルデザイナー内で行を追加してルールを定義することができます。

前提条件

Violation TypeFine Amount、および Points 列が作成済みである必要があります。

手順

  1. EditorInsertAppend row をクリックします。5 つの行を追加するまでこの動作を繰り返します。

    図4.13 行の追加

    append row
  2. 以下の例のように表を入力します。

    図4.14 入力されたデータフィールド

    guided dt
  3. Save をクリックした後、Save をクリックして変更を確認します。