デシジョンテーブル

<< 目次を表示 >>

ページ位置:  その他の記法・モデリング > DMN > DMN表現エディタ >

デシジョンテーブル

デシジョンテーブルは、関連する入力および出力表現のセットを表形式で表現したもので、特定の入力エントリーに対してどの出力エントリーを適用するかを示すルールで構成されています。

デシジョンテーブルは、デシジョン要素とビジネス知識モデル要素の両タイプでサポートされています。デシジョンテーブルは、 アイコンで示されます。

 

 

利用手順:

DMN表現エディタウィンドウは、以下から利用可能です:

リボン

シミュレーション > デシジョン分析 > DMN > DMN表現 その後、デシジョン要素あるいはビジネス知識モデル要素を作成

その他

デシジョン要素あるいはビジネス知識モデル要素をダブルクリック

 

 

概要

この画像は、デシジョンテーブルが表示されたDMN表現エディタウィンドウです。

 

 

デシジョンテーブルは以下で構成されます:

 

入力句は、式と取り得る値のオプションのリストで構成されます。式は、単純に変更されていない入力値そのものであることが多いのですが、複数の入力値を含む式や、「Application Risk Score > 100」などの条件文であることもあります。取り得る値は、使用される入力値に対してではなく、式の結果に対して適用されます。

 

各出力句は、識別子(名前)と、その句が取り得る値のオプションのリストで構成されます。

 

テーブル自体は、一連の入力エントリと対応する出力エントリを定義する番号付きルールのリストで構成されています。

 

デシジョンテーブルには、出力を決定するために必要な入力(のみ)を含める必要があります。

 

どのルールを適用するかを決定する際は、入力に対して入力句で定義された式が評価され、その評価結果を使用して、一致する入力エントリを持つルールが検索されます。

 

デシジョンテーブルの内容が多く、画面内に入りきらない場合にはスクロールバーが表示されます。また、初期状態では入力と出力のセルの幅は同一ですが、必要に応じてセルの境界線をドラッグすることで、幅を調整することもできます。

 

 

デシジョンエディターのツールバー

デシジョンテーブルを選択すると、DMN表現サブウィンドウで利用できる機能のレイアウトは次のようになります:

 

 

詳細については、「デシジョンテーブルエディタのツールバー」のページを参照してください。

 

 

パラメータ

ビジネス知識モデル要素の場合、パラメータは、呼び出し側要素が提供さする入力値を渡すために使用されます。BKMの意思決定ロジックは、入力パラメータを使用して評価され、評価結果は呼び出し側の要素に返されます。デフォルトでは、BKM要素は「Input 1」と「Input 2」の2つの入力パラメータを持つ形で作成されます。

 

DMN表現エディタウィンドウのツールバーの「パラメータの編集」アイコン をクリックして、「パラメータの編集」ウィンドウを表示します。

 

 

ここで、パラメータ名の変更、データ型の設定、パラメータの追加作成、既存のパラメータの削除ができます。

 

 

適用方針

「適用方針を示す文字」を右クリックして、ポップアップメニューから目的にかなう適用方針を選択します。さまざまなテーブル適用方針の詳細については、「デシジョンテーブルの適用方針」のページを参照してください。

 

 

入力句

デシジョンテーブルの入力句は、式として定義されます。式は、単純に変更されていない入力値そのものであることが多いですが、複数の入力値を含む式や、「Application Risk Score > 100」などの条件文であることもあります。取り得る値は、使用される入力値に対してではなく式の評価結果に適用されるため、取り得る値のタイプは式の結果のタイプと一致する必要があります。

 

デフォルトでは、デシジョンテーブルは「Input 1」と「Input 2」の2つの入力句を持つ形で作成されます。デフォルトの入力句のデータ型は、両方とも「number」です。表現エディタでは、入力句はデシジョンテーブルの列見出しとして表示されます。入力句を変更するには、列見出しをクリックしてセルを選択し、もう一度クリックするか、F2キーを押して編集します。

 

 

入力句の編集には、オートコンプリート機能があります。オートコンプリートを利用すると、デシジョン要素の場合、接続されているすべての入力がリストから選択できるようになります。同様に、BKM要素の場合、呼び出しパラメータがリストから選択できるようになります。詳細については、「オートコンプリート」のページを参照してください。

 

入力エントリの列をデシジョンテーブルに追加するには、表現エディタウィンドウのツールバーの「入力の追加」アイコン をクリックします。

 

テーブルから入力列を削除するには、不要な入力列内で右クリックし、ポップアップメニューから「入力列の削除」オプションを選択します。

 

テーブル内の列の順序は、列を新しい位置にドラッグ&ドロップすることで変更できます。(テーブル列の最上部にあるラベルのないセルを必要な位置にドラッグします。)

 

 

選択可能な値

入力列または出力列を定義する場合、列の2行目で「選択可能な値」を定義します。このセルは列のオプションのセルですが、この下の行のエントリを明確にするのに便利です。評価を実行すると、このセルの下にある各セルが、このセルの式に適合しているかどうかチェックされます。

 

このセルで使用される式は、入力列または出力列のタイプによって異なります。

 

 

選択可能な値を素早く入力する

このセルが参照する入力式や出力式は、単純な値であることも、また複雑なFEEL式であることもあります。しかし、アイテム定義の「選択可能な値」フィールドに直接関連付けられている場合は、スペースキーを押すとオートコンプリートが有効になり、 アイテム定義(通常は入力データ要素を介して参照されます)に定義された「選択可能な値」を簡単に設定することができます。

 

 

 

行の内容を素早く入力する

「選択可能な値」のフィールドを定義すると、テーブル内のルールを定義するときに使用できる値が制限されるだけでなく、ユーザーはオートコンプリートを使用できるようになります。ルールセルでスペースキーを押すと、オートコンプリートが呼び出され、必要な項目を選択することができます。

 

 

詳細については、「オートコンプリート」のページを参照してください。

 

 

出力句

出力句は、名前とデータ型と取り得る値のオプションのリストで構成されます。出力句を変更するには、列見出しをクリックしてセルを選択し、もう一度クリックするか、F2キーを押して編集します。

 

出力エントリの列をデシジョンテーブルに追加するには、表現エディタウィンドウのツールバーの「出力の追加」アイコン をクリックします。

 

テーブルから出力列を削除するには、不要な出力列内で右クリックし、ポップアップメニューから「出力列の削除」オプションを選択します。

 

テーブル内の列の順序は、列を新しい位置にドラッグ&ドロップすることで変更できます。(テーブル列の最上部にあるラベルのないセルを必要な位置にドラッグします。)

 

 

入力句・出力句のデータ型

シミュレーションを機能させるには、すべての入力句と出力句のデータ型を設定することが重要です。

 

データ型を設定するには、入力句または出力句を右クリックして、リストから必要な型を選択します。

 

 

 

デシジョンルールの定義

デシジョンテーブルルールは、テーブル行のセル内で入力エントリに対応する出力エントリを指定することにより定義されます。データ型が「number」の場合、入力エントリは単一の値としても、または「<10」、「> 100」、「(2..8]」などの数値範囲としても指定できます。(数値範囲を定義する場合、丸括弧の使用は境界値が含まれないことを示し、角括弧の使用は境界値が含まれることを示します。)出力エントリは、セルごとに単一の値を指定する必要があります。

 

ツールバーの「ルールの追加」アイコン をクリックして、リストにルールを追加できます。不要なルールを削除するには、右クリックしポップアップメニューから「ルール行の削除」オプションを選択します。

 

テーブル内で既存のルールをコピーして貼り付けるには、まずルールを選択し(「Ctrl +クリック」で選択から追加/削除)、メニューオプションの「ルールをクリップボードにコピー」および「ルールをクリップボードから貼り付け」を使用してコピーと貼り付けを実行します。コピーされたルールは、個々のセルエントリを選択して編集することで変更できます。

 

「選択可能な値」フィールドがstringまたはbooleanに設定されている場合、スペースキーを使用して、「選択可能な値」のリストから値を選択できます。

 

 

次のいずれかの方法で、テーブル内でルールをソートすることもできます:

 

どのテーブル行が出力用に選択されるかを決定するために、入力句によって定義された式が指定された入力に対して評価され、評価結果がテーブル行の入力エントリと比較されます。評価結果がテーブル行の入力エントリと一致する場合、その行が出力として選択されます。

 

デシジョンテーブルの「適用方針」によって、テーブルの一致する行を使用してどのように出力を生成するかが決まります。

 

 

表示形式

ツールバーのアイコンを使って、デシジョンテーブルの表示形式を次の3つの中から選ぶことができます。

 

ルールを行に配置する形式:ルールが行に沿って展開され、入力・出力・コメントが列に配置されます。

 

 

ルールを列に配置する形式では、ルールが列に沿って展開され、入力・出力・コメントが行に配置されます。

 

 

クロスタブ形式では、行と列の組み合わせで定義された入力からルールが形成され、交差するセルに出力が設定されます。このフォーマットでは、コメントの内容はが非表示になることに注意してください。

 

 

シミュレーションを実行する場合には、終了時にはクロスタブのデシジョンテーブルにおいて、関連する入力項目と出力項目が強調表示されます。例えば、このシミュレーションでは、注文サイズが10以下で配送が適用されない法人顧客に対して、0.10の割引を行うという処理が出力されました。

 

 

 

クロスタブ形式における設定

クロスタブ形式では、入力が行と列の両方で、出力が交点であるため、値を設定する手順が他の2つの形式のものとは若干異なります。

 

#

操作方法

1

別の種類の入力を追加するには、入力欄のヘッダーを右クリックして入力の追加を選択します。入力の名前を入力するための画面が表示され、入力は現在の列フィールドの下にフィールドのセットとして追加されます。

入力を列から削除するには、そのフィールドのセットを右クリックし、入力を削除を選択します。入力の名前とそのフィールドのセットが列の見出しから削除されます。

2

別の種類の出力を追加するには、ウィンドウの左上にある出力ブロックを右クリックし、出力の追加を選択します。出力名を入力するよう求められます。出力名が出力フィールドに追加され、デシジョンテーブルに新しい行が追加されます。

出力を削除するには、ウィンドウの左上にある 対象の出力名を右クリックし、出力の削除を選択します。出力の名前とそのフィールドが削除されます。

3

行と列を回転させて、行をヘッダーに選択することもできます。行を右クリックして、行をヘッダにします。これにより、入力のリストが表示されます。

4

入力項目に値を入力する行または列を追加するには、現在の行または列を右クリックして、入力項目の行を追加または入力項目の列を追加します。入力項目の名前を入力するための画面が表示され、入力すると、適切な行または列がデシジョンテーブルに追加されます。

入力項目の行または列を削除するには、その行または列を右クリックし、削除の項目を選択します。選択した行または列が表から削除されます。

5

入力列では、各行が入力の種類に対応しています。ある入力の行を他の項目の行の上または下に移動させたい場合は、その行を右クリックして、上あるいは下に移動の項目を選択します。コンテキストメニューには、操作可能な項目のみが表示されます。例えば最後の行を下に移動させることはできません。

 

 

参照: