第4章 ガイド付きディシジョンテーブル
ガイド付きデシジョンテーブルは、アップロードされたデシジョンテーブルのスプレッドシートに代わる方法で、ウィザードを用いてビジネスルールを表形式で定義します。ガイド付きデシジョンテーブルでは、プロジェクトの指定のデータオブジェクトを基にして Decision Central の UI ベースのウィザードに従ってルール属性、メタデータ、条件、およびアクションの定義します。ガイド付きデシジョンテーブルの作成後、定義したルールはその他すべてのルールアセットとともに Drools Rule Language (DRL) ルールにコンパイルされます。
ガイド付きデシジョンテーブルに関連するすべてのデータオブジェクトは、ガイド付きデシジョンテーブルと同じプロジェクトパッケージに存在する必要があります。同じパッケージのアセットはデフォルトでインポートされます。必要なデータオブジェクトとガイド付きデシジョンテーブルの作成後、ガイド付きデシジョンテーブルデザイナーの Data Objects タブを使用して、必要なデータオブジェクトがすべてリストされていることを検証したり、 新規アイテム を追加してその他の既存データオブジェクトをインポートしたりできます。
4.1. 交通違反のガイド付きデシジョンテーブルの作成 リンクのコピーリンクがクリップボードにコピーされました!
ガイド付きデシジョンテーブルデザイナーを使用して、運転者の違反とその違反による罰金や点数を指定する交通違反のガイド付きデシジョンテーブルを作成します。
前提条件
Violation と Driver の両方のデータオブジェクトを作成していること。
手順
- Decision Central にログインします。
-
Menu
Design Projects の順にクリックし、Driver_department_traffic_violations をクリックします。 Add Asset
Guided Decision Table とクリックし、以下を入力します。 -
Guided Decision Table:
SpeedViolationRule -
Package:
com.myspace.driver_department_traffic_violations
-
Guided Decision Table:
- Hit Policy メニューで Unique Hit を選択します。
- Table format セクションの Extended entry, values defined in table body を選択します。
Ok をクリックして ガイド付きデシジョンテーブル デザイナーを開きます。
図4.1 ガイド付きディシジョンテーブルデザイナー
4.1.1. Violation Type 列の挿入 リンクのコピーリンクがクリップボードにコピーされました!
Violation Type 列には、運転者の運転速度やアルコールや薬物の影響下で運転していたかどうかなど、違反の詳細が含まれます。
前提条件
交通違反のガイド付きデシジョンテーブルが作成されていること。
手順
Columns
Insert Column をクリックし、Include advanced options を選択します。 図4.2 Columns タブ
Add an Attribute column を選択し、Next をクリックします。
図4.3 Add a new column ウインドウ
- Ruleflow-group を選択し、Finish をクリックします。
Attribute columns を展開し、Default value フィールドに
trafficViolationと入力します。図4.4 Attribute columns ウインドウ
-
Insert Column をクリックし、Add a Condition
Pattern +Create a new Fact Pattern を選択します。 Fact type メニューで Violation を選択し、Binding フィールドに
vを入力し、OK をクリックします。図4.5 Create a new fact pattern ウインドウ
Calculation type
Literal value を選択します。 図4.6 Calculation type オプション
- Field を選択し、Field メニューで type を選択します。
- Operator を選択した後、Operator メニューで equal to を選択します。
-
Value options を選択し、Value list (optional) フィールドに
Speed,Driving while intoxicated,DWI=Driving while under the influence of drugsと入力します。 Additional info を選択し、Header (description) フィールドに
Violation Typeと入力します。Finish をクリックします。図4.7 Violation Type ヘッダー
-
Insert Column をクリックし、Add a Condition
Pattern と選択し、Pattern メニューで Violation[v] を選択します。 -
Calculation type
Predicate Field を選択し、 actualSpeed-speedLimit > $paramと入力します。 -
Value options を選択した後 Additional info を選択し、Header (description) フィールドに
Speed Limit (MPH) >と入力します。 Finish をクリックします。
図4.8 Speed Limit (MPH) > ヘッダー
-
Insert Column をクリックし、Add a Condition
Pattern と選択し、Pattern メニューで Violation[v] を選択します。 -
Calculation type
Predicate を選択します。 -
Field を選択し、Field フィールドに
actualSpeed-speedLimit < $paramと入力します。 - Operator を選択し、Value options を選択した後、Additional info を選択します。
Header (description) フィールドに
Speed Limit (MPH) <と入力し、Finish をクリックします。図4.9 Condition columns
4.1.2. Fine Amount および Points 列の挿入 リンクのコピーリンクがクリップボードにコピーされました!
Fine Amount* および Points 列には、対応する Violation Type フィールド値を基にした罰金と点数が含まれます。
前提条件
交通違反のガイド付きデシジョンテーブルに Violation Type コラムを挿入していること。
手順
-
Insert Column をクリックし、Set the value of a field
Pattern を選択し、Pattern メニューで Violation[v] を選択します。 - Field を選択し、Field メニューで fineAmount を選択します。
-
Value options を選択した後 Additional info を選択し、Header (description) フィールドに
fineAmountと入力します。 Update engine with changes オプションを選択し、Finish をクリックします。
図4.10 Fine Amount ヘッダー
-
Insert Column をクリックし、Set the value of a field
Pattern を選択し、Pattern メニューで Violation[v] を選択します。 - Field を選択し、Field メニューで points を選択します。
-
Value options を選択した後 Additional info を選択し、Header (description) フィールドに
Pointsと入力します。 Update engine with changes オプションを選択し、Finish をクリックします。
図4.11 Action columns
4.1.3. ガイド付きデシジョンテーブル行の挿入 リンクのコピーリンクがクリップボードにコピーされました!
ガイド付きデシジョンテーブルの列を作成したら、デシジョンテーブルデザイナー内で行を追加してルールを定義することができます。
前提条件
交通違反のガイド付きデシジョンテーブルで Violation Type、Fine Amount、Points の各コラムを作成していること。
手順
-
Editor
Insert Append row をクリックします。5 つの行を追加するまでこの動作を繰り返します。 以下の例のように表を入力します。
図4.12 入力されたデータフィールド
- Save をクリックした後、Save をクリックして変更を確認します。