デシジョンテーブル
自動意思プロセスを自動化する際に「この発注には追加の承認が必要ですか」というような、「はい/いいえ」の質問をする場合、Whenルールが役立ちます。 ただし、「会社はどのような販売促進オファーを提示すべきか」という質問に答えるために複数のプロパティの値をテストする必要がある場合は、デシジョンテーブルを使用できます。
たとえば、さまざまな支出しきい値で顧客に対する割引を決めるデシジョンテーブルを設定できます。 このデシジョンテーブルを使用して、昨年の購入金額が1,000ドルを超え、顧客歴5年以上の顧客には、50ドルを超える購入に対して20%の割引を受ける権利を与えられます。 一方、昨年の購入金額が1,000ドルを超え、顧客歴5年未満の顧客には、100ドルを超える購入に対して15%の割引を受ける権利を与えられます。 どちらの条件も満たさない顧客には割引を適用しないようにします。
以下の動画では、デシジョンテーブルの構成と、デシジョンテーブルで情報がどのように評価されるかを説明しています。
スクリプト
デシジョンテーブルは、条件と結果の表で構成されています。 たとえば、プロパティの値が一定の範囲に収まっていなければならないなどの条件と、その条件がtrueであった場合に返す結果を定義します。 条件のセットには、それぞれ対応する結果が含まれます。 テストしたい条件(プロパティの参照または式)ごとに列を追加し、テストしたい条件の組み合わせごとに行を追加することができます。
システムがデシジョンテーブルを評価するときは、一番上の行から始めて、その行の各条件を評価します。 すべての条件がtrueであれば、その行の結果が返されます。 そうでない場合は、次の行に進み、その行の条件を評価します。 なお、どの組み合わせでも結果が出なかった場合は、それ以外の結果を表の一番下に返します。 これにより、デシジョンが必ず結果を返すことが保証されます。
ビデオはこれで終了です
以下のインタラクションで理解度をチェックしてください。
デシジョンテーブルのロジック
デシジョンテーブルは、一連のプロパティまたはエクスプレッションを使用して決定に達するときに適したアプローチです。
次の例では、バンキング アプリケーションでデシジョンテーブルを使用して、月額管理手数料を決定します。 正しい手数料を見つけるために、デシジョンテーブルは、テーブル内の口座タイプと顧客タイプのプロパティ値を入力値と比較します。
テーブルには、それぞれの組み合わせに対して正しい手数料を評価するための行があります。 たとえば、口座タイプが当座預金「Checking」で顧客タイプが基本「Basic」の場合、値として10ドルが返されます。
次の例では、口座タイプと顧客タイプのプロパティ値に基づいてデシジョン評価が行われる仕組みを示します。
デフォルトでは、条件には(前の例で設定されているように)等号比較演算子が使用されます。 数値条件を使用する場合は、比較演算子として「より大」または「より小」を指定することもできます。 たとえば、普通預金口座の残高が1,000ドルより多い顧客に対しては手数料を請求しないという条件を作成できます。 値の範囲を使用して、比較を定義することもできます。 たとえば、普通預金口座の残高が500ドルを超えるが1,000ドル未満の場合、顧客に当座預金口座手数料のみが請求されるようにします。
App Studioのデシジョンテーブル
計算フィールドは、App Studioに用意されている基本的な関数や簡単なカスタム式を使って設定できます。 たとえば、食品スーパーのアプリケーションでは、単価に数量を掛け算した計算式を使用して、アイテムごとの合計金額を表示できます。
複数の条件を含み、条件に基づいて結果が変化するような複雑な計算の場合は、既存のまたはカスタムのデシジョンテーブルを参照する計算フィールドを設定できます。
補足: Dev Studioで事前に設定され、関連するレコードとしてマークされた複雑なデシジョンテーブルは、シチズンデベロッパーがApp Studioで使用することができます。
運送会社YPlusが宅配サービスで500ドルの配送料を請求する例について考えてみましょう。 YPlusでは、距離に基づいて配送料の計算を更新することにしました。 配送先住所が100マイル以内にあるとします。 その場合、配送料は50ドルとなります。 お届け先が500マイル以内の場合、配送料は100ドルとなります。 お届け先が1,000マイル以内の場合は250ドル、1,000マイルを超える場合は500ドルの配送料がかかります。 後述のデシジョンテーブルを参照して配送料を決定する計算フィールドを設定します。
次の図で「+」アイコンをクリックすると、運送会社の例で所定の動作を実現するためのデシジョンテーブルの設定成方法を理解できます。
以下のインタラクションで理解度をチェックしてください。
このトピックは、下記のモジュールにも含まれています。
トレーニングを実施中に問題が発生した場合は、Pega Academy Support FAQsをご確認ください。