第3章 Business Central での DMN モデルの作成および編集

Business Central の DMN デザイナーを使用して、DMN の意思決定要件ダイアグラム (DRD) を設計して、完全に機能する DMN 意思決定モデルのデシジョンロジックを定義できます。Red Hat Process Automation Manager は、適合レベル 3 の DMN 1.2 モデルに対してデザインとランタイムの両方をサポートし、FEEL および DMN モデルのコンポーネントに拡張機能と修正を追加して、Red Hat Process Automation Manager での DMN デシジョンサービスの実装体験を最適化します。Red Hat Process Automation Manager では、適合レベル 3 の DMN 1.1 および 1.3 に対してランタイムのみサポートしますが、Business Central にインポートした DMN 1.1 はすべて、DMN デザイナーで開かれ、保存時に DMN 1.2 モデルに変換されます。Business Central の DMN デザイナーでは、DMN 1.3 モデルのサポートはありません。

手順

  1. Business Central で、MenuDesignProjects に移動して、プロジェクト名をクリックします。
  2. Business Central プロジェクトで DMN ファイルを作成するか、インポートします。

    DMN ファイルを作成するには、Add AssetDMN をクリックし、わかりやすい DMN モデル名を入力して、適切な Package を選択してから、Ok をクリックします。

    既存の DMN ファイルをインポートするには、Import Asset をクリックし、DMN モデル名を入力して、適切な Package を選択し、アップロードする DMN ファイルを選択してから Ok をクリックします。

    新しい DMN ファイルが Project ExplorerDMN パネルに表示され、DMN 意思決定要件ダイアグラム (DRD) のキャンバスが表示されます。

    注記

    レイアウトの情報が含まれていない DMN ファイルをインポートした場合には、インポートした意思決定要件ダイアグラム (DRD) は DMN デザイナーで自動的にフォーマットされます。DMN デザイナーで Save をクリックして、DRD レイアウトを保存します。

    インポートした DRD が自動的にフォーマットされていない場合には、DMN デザイナーの右上のツールバーにある Perform automatic layout アイコンを選択して DRD をフォーマットしてください。

  3. 左側のツールバーから DMN ノードの 1 つをクリックしてドラッグし、新規またはインポートした DMN 意思決定要件ダイアグラム (DRD) にコンポーネントを追加しはじめてください。

    図3.1 DRD コンポーネントの追加

    dmn drag decision node

    以下の DRD コンポーネントを利用できます。

    • デシジョン: DMN ディジョンにこのノードを使用します。1 つ以上の要素が定義したデシジョンロジックをもとに出力を決定するノード
    • ビジネスナレッジモデル: 1 つまたは複数のデシジョン要素が含まれる再利用可能な関数には、このノードを使用します。同じロジックですが、サブの入力または決定が異なるため、ビジネスナレッジモデルを使用してどの手順に従うかを決定します。
    • ナレッジソース: デシジョンまたはビジネスナレッジモデルを規定する外部の機関、ドキュメント、委員会またはポリシーにはこのノードを使用します。ナレッジソースは、実行可能なビジネスルールというより、実際の要因への参照となります。
    • 入力データ: デシジョンノードまたはビジネスナレッジモデルで使用する情報にはこのノードを使用します。入力データには通常、融資戦略で使用するローン申請データなど、ビジネスに関連するビジネスレベルのコンセプトまたはオブジェクトが含まれます。
    • テキストの注釈: 入力データノード、デシジョンノード、ビジネスナレッジモデルまたはナレッジソースに関連する注釈にはこのノードを使用します。
    • デシジョンサービス: 呼び出し用にデシジョンサービスとして実装される再利用可能なデシジョンセットを含めるにはこのノードを使用します。デシジョンサービスは、他の DMN モデルで使用し、外部アプリケーションまたは BPMN ビジネス・プロセスから呼び出しできます。
  4. DMN デザイナーキャンバスで、新規の DRD ノードをダブルクリックして情報ノード名を入力します。
  5. ノードがデシジョンまたはビジネスナレッジモデルの場合は、ノードオプションを表示するノードを選択して、Edit アイコンをクリックし、DMN ボックス式を開き、ノードのデシジョンロジックを定義します。

    図3.2 新規デシジョンノードのボックス式の表示

    dmn decision edit

    図3.3 新規ビジネスナレッジモデルのボックス式の表示

    dmn bkm edit

    デフォルトでは、ビジネスナレッジモデルはすべて、リテラル FEEL 式、外部の JAVA または PMML 関数のネスト化されたコンテキスト式、またはあらゆる型のネスト化されたボックス式を含む、ボックス関数式として定義されます。

    デシジョンノードの場合は、定義されていないテーブルをクリックし、ボックスリテラル式、ボックスコンテキスト式、デシジョンテーブル、またはその他の DMN ボックスコンテキスト式など、使用するボックス式のタイプを選択します。

    図3.4 デシジョンノードの論理タイプの選択

    dmn decision boxed expression options

    ビジネスナレッジモデルの場合は、左上の関数セルをクリックして関数型を選択するか、関数値のセルを右クリックし、Clear を選択して、別の型のボックス式を選択します。

    図3.5 ビジネスナレッジモデルの機能または他のロジックタイプの選択

    dmn bkm define
  6. デザインノード (任意の式タイプ) またはビジネスナレッジモデル (関数式) のいずれかに対して選択したボックス式デザイナーで、該当するテーブルセルをクリックして、デシジョンロジックに含めるテーブル名、変数データ型、変数名、値、関数パラメーター、バインディング、FEEL 式を定義します。

    セルを右クリックして、テーブルの行および列の挿入または削除、テーブルのコンテンツの消去など、随時、追加のアクションを実行します。

    以下は、ローン申請者のクレジットスコアの定義範囲をもとに、クレジットスコアの評価を決定するデシジョンノードのデシジョンテーブルの一例です。

    図3.6 クレジットスコア評価のデシジョンノードのデシジョンテーブル

    dmn decision table example1a

    以下は、元金、利子、税金、保険 (PITI) をもとに、リテラル式として住宅ローンの支払額を計算するビジネスナレッジモデルのボックス関数式の一例です。

    図3.7 PITI 計算のビジネスナレッジモデルの関数

    dmn function expression example4
  7. 選択したノードのデシジョンロジックを定義した後に、Back to "<MODEL_NAME>" をクリックして DRD ビューに戻ります。
  8. 選択した DRD ノードについては、利用可能な接続オプションを使用して、DRD の次のノードを作成して接続するか、左のツールバーから DRD キャンバスに新規ノードをクリックしてドラッグします。

    ノードタイプで、どの接続オプションがサポートされているかが決まります。たとえば、入力データ ノードは、アプリケーションの接続タイプを使用してデシジョンオード、ナレッジソース、またはテキストの注釈を接続できますが、ナレッジソース ノードは、どの DRD 要素にでも接続できます。デシジョン ノードは、別のデシジョンまたはテキスト注釈にだけ接続できます。

    以下の接続タイプは、ノードの種類に応じて利用できます。

    • 情報要件: 入力データノードまたはデシジョンノードから、情報を必要とする別のデシジョンノードに移動するにはこの接続を使用します。
    • ナレッジ要件: ビジネスナレッジモデルからデシジョンロジックを呼び出す別のビジネスナレッジモデルまたはデシジョンノードに移動するにはこの接続を使用します。
    • 認証局の要件: 入力データノードまたはデシジョンノードから従属するナレッジソース、またはナレッジソースからデシジョンノード、ビジネスナレッジモデルまたは別のナレッジソースに移動するにはこの接続を使用します。
    • 関連付け: 入力データノード、デシジョンノード、ビジネスナレッジモデル、またはナレッジソースからテキストアノテーションに移動するにはこの接続を使用します。

    図3.8 クレジットスコアの入力からクレジットスコア評価のデシジョンへの接続

    dmn input connection example
    dmn input connection example2
  9. 継続して、デシジョンモデルの残りの DRD コンポーネントを追加し、定義します。DMN デザイナーで定期的に Save をクリックして作業を保存します。

    注記

    DRD を定期的に保存すると、DMN デザイナーは DMN モデルを静的に検証し、モデルが完全に定義されるまでエラーメッセージを送出する可能性があります。DMN モデルをすべて定義し終えた後にエラーが発生する場合には、特定の問題を随時トラブルシューティングしてください。

  10. DRD の全コンポーネントを追加して定義した後に、Save をクリックし、完了した DRD を保存して検証します。

    DRD レイアウトを調節するには、DMN デザイナーの右上のツールバーにある Perform automatic layout アイコンを選択してください。

    以下は、ローンの事前審査デシジョンモデルの DRD の一例です。

    図3.9 ローンの事前審査の完全な DRD

    dmn example drd

    以下は、再利用可能なデシジョンサービスを使用した電話対応デシジョンモデルの DRD 例です。

    図3.10 デシジョンサービスを使用した電話対応の完全な DRD

    dmn example drd3

    DMN デシジョンサービスノードでは、一番下のセグメントデシジョンノードはデシジョンサービス外からの入力データを組み込んで、デシジョンサービスノードにある一番上のセグメントの最終地点に行き着きます。デシジョンサービスから返される上位のデシジョンは、後続のデシジョンまたは DMN モデルのビジネスナレッジ要件に実装されます。他の DMN モデル内の DMN デシジョンサービスを再利用し、異なる入力データや外向き接続で、同じデシジョンロジックを適用します。

3.1. Business Central でボックス式を使用した DMN デシジョンロジックの定義

DMN のボックス式は、意思決定要件ダイアグラム (DRD) または意思決定要件グラフ (DRG) でデシジョンノードの基盤ロジックを定義するのに使用するテーブルです。ボックス式には他のボックス式が含まれる場合がありますが、トップレベルのボックス式は単一の DRD アーティファクトのデシジョンロジックに対応します。1 つまたは複数の DRG が含まれる DRD は、DMN デシジョンモデルのフローを表現し、反対にボックス式は個別ノードの実際のデシジョンロジックを定義します。DRD とボックス式は、完全で機能的な DMN デシジョンモデルを形成します。

Business Central で DMN デザイナーを使用して、同梱のボックス式で DRD コンポーネントのデシジョンロジックを定義できます。

前提条件

  • Business Central で DMN ファイルを作成しているか、インポートしている。

手順

  1. Business Central で MenuDesignProjects に移動して、プロジェクト名をクリックし、変更する DMN ファイルを選択します。
  2. DMN デザイナーのキャンバスで、定義するデシジョンノードまたはビジネスナレッジモデルノードを選択し、Edit アイコンをクリックして DMN ボックス式デザイナーを開きます。

    図3.11 新規デシジョンノードのボックス式の表示

    dmn decision edit

    図3.12 新規ビジネスナレッジモデルのボックス式の表示

    dmn bkm edit

    デフォルトでは、ビジネスナレッジモデルはすべて、リテラル FEEL 式、外部の JAVA または PMML 関数のネスト化されたコンテキスト式、またはあらゆる型のネスト化されたボックス式を含む、ボックス関数式として定義されます。

    デシジョンノードの場合は、定義されていないテーブルをクリックし、ボックスリテラル式、ボックスコンテキスト式、デシジョンテーブル、またはその他の DMN ボックスコンテキスト式など、使用するボックス式のタイプを選択します。

    図3.13 デシジョンノードの論理タイプの選択

    dmn decision boxed expression options

    ビジネスナレッジモデルノードの場合は、左上の関数セルをクリックして関数型を選択するか、関数値のセルを右クリックし、Clear を選択して、別の型のボックス式を選択します。

    図3.14 ビジネスナレッジモデルの機能または他のロジックタイプの選択

    dmn bkm define
  3. この例では、デシジョンノードを使用して、ボックス式タイプとして デシジョンテーブル を使用します。

    DMN のデシジョンテーブルは、1 つ以上のルールをテーブル形式で視覚的に表します。テーブルの各行が 1 つのルールになり、条件 (入力) を定義する列と、その特定行に対する結果 (出力) が含まれます。

  4. 入力コラムのヘッダーをクリックして、入力条件の名前とデータ型を定義します。たとえば、入力コラムに Credit Score.FICO という名前で、number のデータ型を指定します。このコラムは、数字のクレジットスコア値または、各種ローン申請者を指定します。
  5. 出力コラムヘッダーをクリックして、出力値の名前とデータ型を定義します。たとえば、出力コラムに Credit Score Rating という名前を指定して、Data Type オプションの横で Manage をクリックし、Data Types ページに移動して、スコア評価を制約として、カスタムのデータ型を作成します。

    図3.15 コラムのヘッダー値のデータ型管理

    dmn manage data types
  6. Data Types ページで、New Data Type をクリックして新規データ型を追加するか、Import Data Object をクリックして、使用するプロジェクトから既存のデータオブジェクトを DMN データ型としてインポートします。

    プロジェクトから DMN データ型としてデータオブジェクトをインポートしてから、そのオブジェクトを更新した場合には、DMN データ型としてデータオブジェクトを再インポートして DMN モデルに変更を適用する必要があります。

    この例では、New Data Type をクリックして、string として Credit_Score_Rating のデータ型を作成します。

    図3.16 新しいデータ型の追加

    dmn custom data type add
  7. Add Constraints をクリックして、ドロップダウンオプションから Enumeration を選択し、以下の制約を追加します。

    • "Excellent"
    • "Good"
    • "Fair"
    • "Poor"
    • "Bad"

    図3.17 新しいデータ型への制約の追加

    dmn custom data type constraints

    データ型の制約の順序を変更するには、必要に応じて、制約の行の左端をクリックしてその行をドラッグします。

    図3.18 制約をドラッグして制約順序を変更

    dmn custom data type constraints drag

    指定のデータ型の制約タイプと構文要件に関する情報は、「Decision Model and Notation specification」を参照してください。

  8. OK をクリックして制約を保存し、データ型の右側のチェックマークをクリックしてデータ型を保存します。
  9. Credit Score Rating デシジョンテーブルに戻り、Credit Score Rating コラムヘッダーをクリックして、保存したデータ型をこの新規カスタムデータ型に設定します。
  10. Credit Score.FICO の入力コラムを使用して、クレジットスコアの値またはクレジットの葉にを定義し、Credit Score Rating コラムを使用して、Credit_Score_Rating のデータ型で定義した対応する評価の 1 つを指定します。

    値のセルを右クリックして、行 (ルール) および列 (句) を挿入または削除します。

    図3.19 クレジットスコア評価のデシジョンノードのデシジョンテーブル

    dmn decision table example1a
  11. 全ルールを定義した後に、デシジョンテーブルの左上隅をクリックして、ヒットポリシー組み込みアグリゲーター (COLLECT ヒットポリシーのみ) のルールを定義します。

    ヒットポリシーは、デシジョンテーブルにある複数のルールが指定の入力値とマッチした場合にどのように結果に到達するのかを決定します。組み込みアグリゲーターは、COLLECT ヒットポリシーを使用する場合にどのようにルール値を累積するかを決定します。

    図3.20 デシジョンテーブルヒットポリシーの定義

    dmn hit policies

    以下のデシジョンテーブルは、より複雑なデシジョンテーブルで、ローン事前審査のデシジョンモデルで終端デシジョンノードとして、申請者のローン適正を決定します。

    図3.21 ローン事前審査のデシジョンテーブル

    dmn decision table example3

デシジョンテーブル以外のボックス式タイプの場合は、ボックス式のテーブルを移動して、デシジョンロジックの変数とパラメーターを定義するのと同様にこれらのガイドラインに従いますが、ボックス式のタイプの要件に従うようにしてください。ボックスリテラル式など、ボックス式の一部ではコラムが 1 つのテーブルの場合や、また関数、テキスト、呼び出し式などのボックス式は、他のタイプのボックス式がネスト化された、コラムが複数あるテーブルの場合もあります。

たとえば、以下のボックスコンテキスト式では、サブコンテキスト式が含まれるフロントエンドの割合計算として表現されている PITI (元金 (Principal)、利子 (Interest)、税金(Tax)、保険(Insurance)) をもとに、ローンの申請者が最小限必要とされるローンの支払いをしているかを決定するパラメーターを定義します。

図3.22 フロントエンドクライアント PITI 割合のボックスコンテキスト式

dmn context expression example2

以下のボックス関数式では、ネスト化されたコンテキスト式として定義された関数値を使用し、融資のデシジョンのビジネスナレッジモデルとして、住宅ローンの月額を決定します。

図3.23 ビジネスナレッジモデルのローン計算で使用するボックス関数式

dmn function expression example3

各ボックス式のタイプの例および詳細は、「ボックス式の DMN デシジョンロジック」を参照してください。

3.2. Business Central での DMN ボックス式のカスタムデータ型の作成

Business Central の DMN のボックス式では、データ型により、ボックス式の関連のテーブル、コラム、またはフィールド内で使用するデータの構造を決定します。デフォルトの DMN データ型 (文字列、数字、ブール値など) を使用するか、または独自のデータ型を作成して、ボックス式の値に実装する新たなフィールドや制限を指定することもできます。

ボックス式のカスタムのデータ型として、単純なデータ型または構造化されたデータ型のいずれかを作成できます。

  • 単純な データ型では、名前とタイプの割当のみを指定できます。例 : Age (number)
  • 構造化された データ型には、親データ型に関連する複数のフィールドが含まれます。例: Name (string)Age (number)Email (string) のフィールドが含まれる単一の型 Person

前提条件

  • Business Central で DMN ファイルを作成しているか、インポートしている。

手順

  1. Business Central で MenuDesignProjects に移動して、プロジェクト名をクリックし、変更する DMN ファイルを選択します。
  2. DMN デザイナーのキャンバスで、データ型を定義するデシジョンノードまたはビジネスナレッジモデルを選択し、Edit アイコンをクリックして DMN ボックス式デザイナーを開きます。
  3. ボックス式が定義されていないデシジョンノードの場合は、定義されていないテーブルをクリックし、ボックスリテラル式、ボックスコンテキスト式、デシジョンテーブル、またはその他の DMN ボックスコンテキスト式など、使用するボックス式のタイプを選択します。

    図3.24 デシジョンノードの論理タイプの選択

    dmn decision boxed expression options
  4. テーブルヘッダのセルまたは、(ボックス式のタイプに合わせて) データ型を定義するパラメーターフィールドをクリックし、Manage をクリックして、カスタムのデータ型を作成する Data Types ページに移動します。

    図3.25 コラムのヘッダー値のデータ型管理

    dmn manage data types

    DMN デザイナーの右上隅の Properties アイコンを選択して、指定のデシジョンノードまたはビジネスナレッジモデルノードのカスタムデータ型を設定して管理することも可能です。

    図3.26 意思決定要件 (DRD) プロパティーでのデータ型の管理

    dmn manage data types1a

    ボックス式で指定のセルに定義するデータ型により、ボックス式の関連のテーブル、コラム、フィールド内で使用するデータの構造を決定します。

    この例では、DMN デシジョンテーブルの出力コラム クレジットスコア評価 は、申請者のクレジットスコアをもとにカスタムのクレジットスコア評価を定義します。

  5. Data Types ページで、New Data Type をクリックして新規データ型を追加するか、Import Data Object をクリックして、使用するプロジェクトから既存のデータオブジェクトを DMN データ型としてインポートします。

    プロジェクトから DMN データ型としてデータオブジェクトをインポートしてから、そのオブジェクトを更新した場合には、DMN データ型としてデータオブジェクトを再インポートして DMN モデルに変更を適用する必要があります。

    この例では、New Data Type をクリックして、string として Credit_Score_Rating のデータ型を作成します。

    図3.27 新しいデータ型の追加

    dmn custom data type add

    データ型がアイテムの一覧を必要とする場合には、List 設定を有効にします。

  6. Add Constraints をクリックして、ドロップダウンオプションから Enumeration を選択し、以下の制約を追加します。

    • "Excellent"
    • "Good"
    • "Fair"
    • "Poor"
    • "Bad"

    図3.28 新しいデータ型への制約の追加

    dmn custom data type constraints

    データ型の制約の順序を変更するには、必要に応じて、制約の行の左端をクリックしてその行をドラッグします。

    図3.29 制約をドラッグして制約順序を変更

    dmn custom data type constraints drag

    指定のデータ型の制約タイプと構文要件に関する情報は、「Decision Model and Notation specification」を参照してください。

  7. OK をクリックして制約を保存し、データ型の右側のチェックマークをクリックしてデータ型を保存します。
  8. Credit Score Rating デシジョンテーブルに戻り、Credit Score Rating コラムヘッダーをクリックして、保存したデータ型をこの新規カスタムデータ型に設定し、指定した評価制約で、対象のコラムのルール値を定義します。

    図3.30 クレジットスコア評価のデシジョンテーブル

    dmn decision table example1a

    シナリオの DMN デシジョンモデルで、Credit Score Rating デシジョンが、以下の Loan Prequalification デシジョンに流れ、このデシジョンではカスタムのデータ型が必要です。

    図3.31 ローン事前審査のデシジョンテーブル

    dmn manage data types blank
  9. この例をそのまま使用し、Data Types ウィンドウに戻り、New Data Type をクリックして、Loan_Qualification データ型を制約なしの Structure として作成します。

    新しい構造化データ型を保存すると、最初のサブフィールドが表示され、この親データ型で、ネスト化されたデータフィールドの定義を開始できます。デシジョンテーブルでネスト化されたコラムヘッダーや、コンテキストまたは関数式でネスト化されたテーブルパラメーターなど、このサブフィールドは、ボックス式で、親構造化データ型と関連付けて使用できます。

    追加のサブフィールドについては Loan_Qualification のデータ型の横にある追加のアイコンをクリックします。

    図3.32 新しい構造化データ型へのネスト化フィールドの追加

    dmn manage data types structured
  10. この例では、構造化された Loan_Qualification データ型に、"Qualified""Not Qualified" の列挙制約がある Qualification フィールドと、制約のない Reason フィールドを追加します。また、"Sufficient""Insufficient" の列挙制約がある、単純な Back_End_RatioFront_End_Ratio データ型を追加します。

    作成する各データ型の右側にあるチェックマークをクリックして変更を保存します。

    図3.33 ネスト化されたデータ型への制約の追加

    dmn manage data types structured2

    データ型の順序やネスト化を変更するには、必要に応じて、データ型の行の左端をクリックしてその行をドラッグします。

    図3.34 データ型をドラッグしてデータ型の順番やネスト化を変更

    dmn manage data types structured2 drag
  11. デシジョンテーブルに戻り、コラムごとに、コラムヘッダーセルをクリックし、対応する新規のカスタムデータ型に、このデータ型を設定して、(該当する場合には) 指定した制約で必要に応じてコラムのルール値を定義します。

    図3.35 ローン事前審査のデシジョンテーブル

    dmn decision table example3

デシジョンテーブル以外のボックス式タイプの場合は、ボックス式のテーブルを移動して、必要に応じてカスタムのデータ型を定義するのと同様に、これらのガイドラインに従うようにしてください。

たとえば、以下のボックス関数式はカスタムの tCandidatetProfile の構造化データ型を使用して、データを関連付けてオンライン出会い系でのデート相手としての適合性を判断します。

図3.36 オンライン出会い系でデート相手としての適合性に使用するボックス関数式

dmn manage data types structured3

図3.37 オンライン出会い系でデート相手としての適合性に使用するカスタムデータ型の定義

dmn manage data types structured3a

図3.38 オンライン出会い系でデート相手としての適合性に使用するカスタムデータ型を含むパラメーター定義

dmn manage data types structured3b

3.3. Business Central の DMN ファイルに含まれるモデル

Business Central の DMN デザイナーで Included Models タブを使用して、指定の DMN ファイルに、お使いのプロジェクトの 他の DMN モデルや、Predictive Model Markup Language (PMML) モデルを使用できます。別の DMN ファイル内の DMN モデルを追加すると、同じ意思決定要件ダイアグラム (DRD) の両モデルのノードやロジックをすべて使用できます。DMN ファイルに PMML モデルを追加すると、DMNデシジョンノードまたはビジネスナレッジモデルノードのボックス関数式として、この PMML モデルを呼び出すことができます。

Business Central では、他のプロジェクトからの DMN または PMML モデルを追加できません。

3.3.1. Business Central の DMN ファイルへの他の DMN モデルの追加

Business Central では、指定の DMN ファイルに、プロジェクトの他の DMN モデルを追加できます。別の DMN ファイルに DMN モデルを追加すると、同じ意思決定要件ダイアグラム (DRD) の両モデルのノードとロジックをすべて使用できますが、追加したモデルのノードは編集できません。追加したモデルのノードを編集するには、直接追加したモデルのソースファイルを更新する必要があります。追加した DMN モデルのソースファイルを更新した場合には、DMN モデルが追加されている DMN ファイルを表示して (または一旦閉じて、開き直して)、変更を確認してください。

Business Central では、他のプロジェクトからの DMN モデルを追加できません。

前提条件

  • Business Central で (.dmn ファイルとして) 同じプロジェクトに DMN モデルが作成されているか、インポートされている。

手順

  1. Business Central で MenuDesignProjects に移動して、プロジェクト名をクリックし、変更する DMN ファイルを選択します。
  2. DMN デザイナーで、Included Models タブをクリックします。
  3. Include Model をクリックして、Models リストのプロジェクトから DMN モデルを選択し、追加するモデルの一意名を入力して、Include をクリックします。

    図3.39 DMN モデルの追加

    dmn include model

    この DMN ファイルに、DMN ファイルが追加され、追加したモデルからの DRD ノードすべてが Decision Navigator ビューの Decision Components に表示されます。

    図3.40 追加した DMN モデルのデシジョンコンポーネントを含む DMN ファイル

    dmn include model list

    追加したモデルからの全データ型が DMN ファイルの Data Types タブにも、読み取り専用モードで表示されます。

    図3.41 追加した DMN モデルのデータ型を含む DMN ファイル

    dmn include model data types
  4. DMN デザイナーの Model タブで、追加した DRD コンポーネントをクリックしてキャンバスにドラッグし、DRD での実装を開始します。

    図3.42 追加した DMN モデルの DRD コンポーネントの追加

    dmn include model drd

    追加したモデルの DRD ノードまたはデータタイプを編集するには、追加したモデルのソースファイルを直接更新する必要があります。追加した DMN モデルのソースファイルを更新した場合には、DMN モデルが追加されている DMN ファイルを表示して (または一旦閉じて、開き直して)、変更を確認してください。

    追加したモデル名を編集するか、追加したモデルを DMN ファイルから削除するには、DMN デザイナーの Included Models タブを使用します。

    重要

    追加したモデルを削除すると、DRD で現在使用中の追加モデルからのノードもすべて削除されます。

3.3.2. Business Central の DMN ファイルへの PMML モデルの追加

Business Central では、指定した DMN ファイルに、プロジェクトの Predictive Model Markup Language (PMML) を追加できます。DMN ファイルに PMML モデルを追加すると、DMN デシジョンノードまたはビジネスナレッジモデルノードのボックス関数式として、この PMML モデルを呼び出すことができます。追加した PMML モデルのソースファイルを更新した場合にh、DMN ファイルの PMML モデルを削除して追加し直し、ソースの変更を適用する必要があります。

Business Central では、他のプロジェクトからの PMML モデルを追加できません。

前提条件

  • Business Central で (.pmml ファイルとして) 同じプロジェクトに PMML モデルがインポートされている。

手順

  1. DMN プロジェクトで、プロジェクトの pom.xml ファイルに以下の依存関係を追加して、PMML 評価を有効にします。

    <!-- Required for the PMML compiler -->
    <dependency>
      <groupId>org.drools</groupId>
      <artifactId>kie-pmml</artifactId>
      <version>${rhpam.version}</version>
      <scope>provided</scope>
    </dependency>
    
    <!-- Alternative dependencies for JPMML Evaluator, override `kie-pmml` dependency -->
    <dependency>
      <groupId>org.kie</groupId>
      <artifactId>kie-dmn-jpmml</artifactId>
      <version>${rhpam.version}</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.jpmml</groupId>
      <artifactId>pmml-evaluator</artifactId>
      <version>1.4.9</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.jpmml</groupId>
      <artifactId>pmml-evaluator-extension</artifactId>
      <version>1.4.9</version>
      <scope>provided</scope>
    </dependency>

    Business Central でプロジェクトの pom.xml ファイルを利用するには、プロジェクトで既存のアセットを選択し、画面左側の Project Explorer メニューで Customize View ギアアイコンをクリックし、Repository Viewpom.xml を選択します。

    Java Evaluator API for PMML (JPMML) と完全な PMML 仕様の実装を仕様する場合には、DMN プロジェクトで代わりとなる JPMML の依存関係を使用してください。JPMML の依存関係と標準の kie-pmml の依存関係が両方ある場合は、kie-pmml の依存関係が無効になります。JPMML のライセンス条件に関する情報は、Openscoring.io を参照してください。

    注記

    個別の依存関係に対して Red Hat Process Automation Manager <version> を指定するのではなく、Red Hat Business Automation 部品表 (BOM) の依存関係をプロジェクトの pom.xml ファイルに追加することを検討してください。Red Hat Business Automation BOM は、Red Hat Process Decision Manager と Red Hat Process Automation Manager の両方に適用します。BOM ファイルを追加すると、指定の Maven リポジトリーからの一時的な依存関係の内、正しいバージョンが、このプロジェクトに追加されます。

    BOM 依存関係の例:

    <dependency>
      <groupId>com.redhat.ba</groupId>
      <artifactId>ba-platform-bom</artifactId>
      <version>7.8.0.redhat-00005</version>
      <scope>import</scope>
      <type>pom</type>
    </dependency>

    Red Hat Business Automation BOM (Bill of Materials) についての詳細情報は、「What is the mapping between RHPAM product and maven library version?」を参照してください。

  2. DMN プロジェクトに JPMML 依存関係を追加して JPMML Evaluator を使用する場合は、以下の JAR ファイルをダウンロードし、Red Hat Process Automation Manager ディストリビューションの ~/kie-server.war/WEB-INF/lib~/business-central.war/WEB-INF/lib のディレクトリーに追加します。

    これらのアーティファクトは、KIE Server と Business Central で JPMML 評価を有効化するのに必要です。

    重要

    Red Hat は、Red Hat Process Automation Manager で PMML を実行するため、PMML (JPMML) 向けの Java Evaluator API との統合をサポートしています。しかし、Red Hat は JPMML ライブラリーを直接サポートしません。Red Hat Process Automation Manager ディストリビューションに JPMML ライブラリーを含む場合は、JPMML の Openscoring.io ライセンス条件を確認してください。

  3. Business Central で MenuDesignProjects に移動して、プロジェクト名をクリックし、変更する DMN ファイルを選択します。
  4. DMN デザイナーで、Included Models タブをクリックします。
  5. Include Model をクリックして、Models リストのプロジェクトから PMML モデルを選択し、追加するモデルの一意名を入力して、Include をクリックします。

    図3.43 PMML モデルの追加

    dmn include model pmml

    PMML モデルは、この DMN ファイルに追加されます。

    図3.44 PMML モデルを含む DMN ファイル

    dmn include model list pmml
  6. DMN デザイナーの Model タブで、PMML モデルを呼び出すデシジョンノードまたはビジネスナレッジモデルノードを選択または作成して、Edit アイコンをクリックし、DMN ボックス式デザイナーを開きます。

    図3.45 新規デシジョンノードのボックス式の表示

    dmn decision edit

    図3.46 新規ビジネスナレッジモデルのボックス式の表示

    dmn bkm edit
  7. 式タイプを Function (ビジネスナレッジモデルノードのデフォルト) に設定し、左上の機能セルをクリックして PMML を選択します。
  8. テーブルの documentmodel の行で、未定義のセルをダブルクリックして、PMML ドキュメント、およびそのドキュメント内の関連する PMML モデルを指定します。

    図3.47 DMN ビジネスナレッジモデルへの PMML モデルの追加

    dmn include model expression pmml

    図3.48 DMN ビジネスナレッジモデルでの PMML 定義の例

    dmn function expression example5

    追加した PMML モデルのソースファイルを更新する場合は、DMN ファイルの PMML モデルを削除して再追加し、ソースの変更を適用する必要があります。

    追加したモデル名を編集するか、追加したモデルを DMN ファイルから削除するには、DMN デザイナーの Included Models タブを使用します。

3.4. Business Central の DMN モデルドキュメント

Business Central の DMN デザイナーで、Documentation タブを使用して、オフラインで使用できるように HTML ファイルとして出力またはダウンロード可能な、DMN モデルのレポートを生成します。DMN モデルのレポートには、DMN モデルの全意思決定要件ダイアグラム (DRD)、データタイプ、ボックス式が含まれます。このレポートを使用して、DMN モデルの詳細を共有したり、社内のレポートワークフローの一部として共有できます。

図3.49 DMN モデルレポートの例

dmn documentation

3.5. Business Central での DMN ナビゲーションとプロパティー

Business Central の DMN デザイナーには、以下の追加機能が含まれており、意思決定要件ダイアグラム (DRD) のコンポーネントやプロパティーの移動を容易にします。

DMN ファイルとダイアグラムのビュー

DMN デザイナーの左上隅で、Project Explorer ビューを選択して、全 DMN と他のファイルを移動するか、Decision Navigator ビューを選択して、選択した DRD のデシジョンコンポーネント、グラフ、ボックス式の間を移動します。

図3.50 Project Explorer のビュー

dmn designer project view

図3.51 Decision Navigator のビュー

dmn designer nav view
dmn designer nav view2
注記

DMN ファイルに含まれる DMN モデルからの DRD コンポーネント (Included Models タブ) は、DMN ファイルの Decision Components パネルにも表示されます。

DMN デザイナーの右上隅で、Explore diagram アイコンを選択して、選択した DRD で俯瞰プレビューを表示して、選択した DRD のノード間を移動します。

図3.52 Exploer Diagram ビュー

dmn designer preview
DRD プロパティーと設計

DMN デザイナーの右上隅で、Properties アイコンを選択して、情報、データ型、選択した DRD、DRD ノード、ボックス式セルの外観を変更できます。

図3.53 DRD ノードのプロパティー

dmn designer properties

全 DRD のプロパティーを表示するには、特定のノードではなく、DRD キャンバスの背景をクリックします。

DRD 検索

DMN デザイナーの右上隅にある検索バーを使用して、DRD に表示されるテキストを検索します。検索機能は特に、ノードが多数指定された複雑な DRD に有用です。

図3.54 DRD 検索

dmn designer search