コンテキストの作成
contextは、オプションの結果フィールドを持つ1つ以上のキーと値のペアのコレクションです。 各ペアはコンテキスト・エントリと呼ばれます。 コンテキスト・エントリ内のキー属性は、対応する値属性の識別子として機能します。
コンテキストを使用して、特定のシナリオまたはエンティティに関連するすべてのデシジョン・ロジックをまとめて文書化することができます。 たとえば、応募者の月額所得と費用に基づいて、申請者の融資適格を決定する必要があるとします。 このために、コンテキスト表記法を使用して「ローン適格」という名前のデシジョンを作成し、毎月の総所得、月次経費および差引支給額の式またはロジックを追加できます。 次に、融資適格の正味収入および正味費用を評価する結果フィールド(コンテキスト内)を追加するか、または別のデシジョンでこれらを評価するように選択できます。
結果フィールドがないと、コンテキストのデシジョンでは複数のキーと値のペアが出力として返されます。 この場合は、別のデシジョンから任意のコンテキスト・エントリを起動できます。
結果フィールドを追加した場合、このフィールドの出力はコンテキストの出力として表示されます。 ここでは、別のデシジョンからのみコンテキストの結果を起動することができます。
次の図は、応募者の融資適格性を決定する結果フィールドを持つコンテキストを示しています:
結果フィールドの出力は、コンテキストの出力です。 この場合、コンテキストは応募者のローン適格性に関するtrueまたはfalseを返します。 コンテキスト名(「ローン適格」など)を使用して、モデル内の他のデシジョンでコンテキストの結果を参照できます。
次の図は、結果フィールドがないコンテキストと、複数のコンテキスト・エントリを参照する式のデシジョンを示しており、応募者の融資適格性を判断しています:

「図dmn-context-no-result.pngの説明」
このコンテキストの出力は、3つのコンテキスト・エントリすべての結果を含むリストです。 別のデシジョンから特定のコンテキスト・エントリを参照するには、ContextName.EntryKey形式(例: Income.Expenses)を使用します。 コンテキスト内では、エントリはその上にあるエントリのみを参照できます。
ノート:
コンテキスト・エントリの1つとして関数を追加すると、コンテキスト全体が結果を返しません。 ただし、デシジョン・モデル全体を通じて個々のコンテキスト・エントリの結果を起動することは可能です。
