デシジョンツリーまたはデシジョンテーブル
デシジョンテーブルとデシジョンツリーは、いずれもプロパティや条件を評価して、比較がtrueと評価された場合に結果を返します。 デシジョンテーブルは同じプロパティセット、つまり条件セットに対して評価を行いますが、デシジョンツリーは異なるプロパティや条件に対して評価を行います。
デシジョンテーブル
デシジョンテーブルでは、同じプロパティと演算子のペア(Account type = など)に対して列内の値が評価され、値またはプロパティが1つ返されます。 デベロッパーは、同じプロパティセット、つまり条件セットの多数の組み合わせを評価して1つの値やプロパティを返す必要がある場合に、デシジョンテーブルを使用できます。 たとえば、ある企業では、従業員5人の評価メトリックスでの勤続年数と評価を使用して、ボーナスの受給資格を決定しています。
デシジョンツリー
デシジョンツリーの各分岐は、プロパティと演算子のペアを1つの値に対して評価し、値を返したり、ネストされた条件を評価したりするなどのアクションを実行します。 デベロッパーは、他の条件に依存する可能性のあるさまざまなプロパティに対して条件を評価するために、デシジョンツリーを使用します。 デシジョンツリーの各分岐が評価され、すべての分岐がtrueと評価されると、後述されるアクション(ネストされた条件の評価を続けるなど)が実行されます。 たとえば、ある言語学習アプリケーションは、ユーザーの努力に対して、一部のユーザーにはハートを付与し、その他のユーザーには星を付与するA/Bテストを広範囲にわたり実行しています。 ハートと星の値は別個のプロパティで収集されます。 デシジョンツリーは、アカウントに関連付けられたハートまたは星の数に基づいて、ユーザーが受け取れるリワードを評価します。
次の図の中央付近にある垂直線を左右に動かして、デシジョンテーブルとデシジョンツリーを設定するインターフェイスの違いを確認してください。
使用と設定に関する検討事項
デシジョンツリーとデシジョンテーブルは同じような機能を実行します。 しかし、デシジョンテーブルとデシジョンツリーは、Pega Platform™のアプリケーション内で常に入れ替えて使用できるわけではありません。 どちらのロジックを構成するかを選ぶ際は、評価する条件と、いずれかを使用する場面を検討してください。
たとえば、フロールール、デクレアエクスプレッション、アクティビティ、ルーターでは、デシジョンテーブルまたはデシジョンツリーを参照できます。 オーソリティマトリックスを使用したカスケード承認など一部の構成では、デシジョンテーブルのみサポートします。
異なるプロパティに対して評価する条件を構成する場合はデシジョンツリーを使用し、多くの同じプロパティに対して評価する場合はデシジョンテーブルを使用するのが望ましいです。 異なるプロパティに対して評価するときにデシジョンテーブルを使用すると、空のボックスができ、同じプロパティに対して評価するときにデシジョンツリーを使用すると、条件が重複することがあります。
以下の図の中央にある垂直線をスライドすると、口座タイプの決定についてデシジョンテーブルとデシジョンツリーを比較できます。
以下のインタラクションで理解度をチェックしてください。