ディシジョンテーブル
意思決定テーブルを使用して、複数の要因に依存している複雑な意思決定を解決できます。
意思決定テーブルを使用して、複数の要因に依存している結果に達することができます。これらのテーブルでは、各要因が意思決定入力です。たとえば、自動車保険の補償に関する意思決定を行う場合は、入力には、被保険者の住所、年齢、事故歴、自動車メーカー、車種、製造年などが含まれます。このロジックは時間を節約でき、スクリプトを使用するよりも体系化され、読みやすい形式を提示できます。意思決定テーブルは、意思決定を作成、表示、および変更できる単一ポイントを提供します。
スクリプトで ディシジョンテーブル とやり取りするには、 DecisionTableAPI - Scoped, Globalを使用します。
意思決定のコンポーネント
- 意思決定テーブル [sys_decision] レコード
- 意思決定テーブルレコードは、単一の意思決定を表します。このレコードでは、回答に使用するテーブルを指定します。このレコードには、意思決定入力と意思決定を作成できる関連リストも含まれています。
- 意思決定入力 [sys_decision_input] レコード
- 意思決定入力レコードは、意思決定の回答を取得するために使用される入力を表します。これらの入力には、文字列、参照、true/false 入力、日付を含むさまざまなタイプがあります。各意思決定入力には指定された入力タイプがあり、デフォルト値を割り当てることができます。
- 意思決定 [sys_decision_question] レコード
- 各意思決定レコードは、入力に基づいた意思決定を表します。意思決定レコードフォームで条件ビルダーを使用して、この意思決定の入力に基づいた条件を作成します。次に、この意思決定の回答レコードを選択できます。回答レコードは、意思決定テーブルのレコードで定義したテーブルの任意のレコードにすることができます。複数の意思決定に対して同じ回答レコードを選択できます。
- 回答レコード
- 回答レコードは、さまざまな意思決定入力値を使用して到達した回答を表します。回答レコードには任意のテーブルのレコードを使用できますが、そのテーブルは意思決定テーブルレコードを作成するときに選択する必要があります。たとえば、sys_choice テーブルを使用して、既存の選択肢レコードを使用できます。保険の補償についての例では、各レコードに保険の補償レベルの詳細が含まれるテーブルを作成できます。
意思決定テーブルを使用して、割引率を決定します。
次の例は、意思決定テーブルを示しています。この例では、2 つの入力「注文単位数」と「代金引き換え」があります。2 つの質問に対する回答に応じて、考えられる 2 つ回答「はい」と「いいえ」に到達します。たとえば、50 アイテムより多く注文するか現金払いの場合は、顧客をシルバー割引にし、両方の場合はゴールド割引にします。
意思決定の入力:
- 注文個数、type=integer
- 代金引換、type=choice (はい、いいえ)
| 条件列 | 結果列 | |
|---|---|---|
| 注文個数 | 現金 | 割引 |
| 50 未満 | はい | シルバー割引 |
| 50 未満 | いいえ | ブロンズ割引 |
| 50 を超える | はい | ゴールド割引 |
| 50 を超える | いいえ | シルバー割引 |