Red Hat Training
A Red Hat training course is available for Red Hat Decision Manager
第4章 ガイド付きディシジョンテーブル
ガイド付きデシジョンテーブルは、アップロードされたデシジョンテーブルのスプレッドシートに代わる方法で、ウィザードを用いてビジネスルールを表形式で定義します。ガイド付きデシジョンテーブルでは、プロジェクトの指定のデータオブジェクトを基にして Decision Central の UI ベースのウィザードに従ってルール属性、メタデータ、条件、およびアクションの定義します。ガイド付きデシジョンテーブルの作成後、定義したルールはその他すべてのルールアセットとともに Drools Rule Language (DRL) ルールにコンパイルされます。
ガイド付きデシジョンテーブルに関連するすべてのデータオブジェクトは、ガイド付きデシジョンテーブルと同じプロジェクトパッケージに存在する必要があります。同じパッケージのアセットはデフォルトでインポートされます。必要なデータオブジェクトとガイド付きデシジョンテーブルの作成後、ガイド付きデシジョンテーブルデザイナーの Data Objects タブを使用して、必要なデータオブジェクトがすべてリストされていることを検証したり、 新規アイテム を追加してその他の既存データオブジェクトをインポートしたりできます。
4.1. 交通違反のガイド付きデシジョンテーブルの作成
ガイド付きデシジョンテーブルデザイナーを使用して、運転者の違反とその違反による罰金や点数を指定する交通違反のガイド付きデシジョンテーブルを作成します。
前提条件
Violation
および Driver
データオブジェクトの両方が作成されている必要があります。
手順
- Decision Central にログインします。 Menu → Design → Projects をクリックした後、Driver department traffic violations をクリックします。
Create New Asset → Guided Decision Table をクリックし、以下を入力します。
-
Guided Decision Table:
SpeedViolationRule
-
Package:
com.myteam.driverdepartmenttrafficviolations
-
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
Columns をクリックし、Attribute columns を展開し、 Hide column オプションを選択します。
図4.12 Attribute columns
4.1.3. ガイド付きデシジョンテーブル行の挿入
ガイド付きデシジョンテーブルの列を作成したら、デシジョンテーブルデザイナー内で行を追加してルールを定義することができます。
前提条件
Violation Type
、Fine Amount
、および Points
列が作成済みである必要があります。
手順
Editor → Insert → Append row をクリックします。5 つの行を追加するまでこの動作を繰り返します。
図4.13 行の追加
以下の例のように表を入力します。
図4.14 入力されたデータフィールド
- Save をクリックした後、Save をクリックして変更を確認します。