3.2. 交通違反 DMN カスタムデータタイプの作成
DMN データタイプは、デシジョン論理の定義向けの DMN ボックス式のテーブル、列、フィールドで使用するデータ構造を決定します。デフォルトの DMN データタイプ (文字列、数字、ブール値など) を使用するか、または独自のデータタイプを作成して、ボックス式の値に実装する新たなフィールドや制限を指定することもできます。Business Central の DMN デザイナーの Data Types タブを使用して交通違反プロジェクトのカスタムデータタイプを定義します。
図3.3 カスタムデータタイプのタブ
以下のテーブルでは、このプロジェクト用に作成する Driver
、Violation
、および Fine
のカスタムデータタイプを一覧表示しています。
名前 | タイプ |
---|---|
tDriver | Structure |
名前 | string |
Age | number |
State | string |
City | string |
Points | number |
名前 | タイプ |
---|---|
tViolation | Structure |
Code | string |
Date | date |
タイプ | string |
Speed Limit | number |
Actual Speed | number |
名前 | タイプ |
---|---|
tFine | Structure |
Amount | number |
Points | number |
前提条件
- 交通違反 DMN デシジョン要件ダイアグラム (DRD) を Business Central で作成している。
手順
-
tDriver
カスタムデータタイプを作成するには、Data Types タブの Add をクリックし、Name フィールドにtDriver
と入力して、Type リストからStructure
を選択します。 新しいデータタイプの右側にあるチェックマークをクリックして、変更を保存します。
図3.4 tDriver のカスタムデータタイプ
新しくネスト化されたデータタイプごとに、
tDriver
の横にあるプラス記号をクリックして、tDriver
の構造化データタイプに、以下のネスト化されたデータタイプを追加します。新規データタイプの右側にあるチェックマークをクリックして、変更を保存します。-
Name
(文字列) -
Age
(数字) -
State
(文字列) -
City
(文字列) -
Points
(数字)
-
-
tViolation
カスタムデータタイプを作成するには、Data Types タブの Add をクリックし、Name フィールドにtViolation
と入力して、Type リストからStructure
を選択します。 新しいデータタイプの右側にあるチェックマークをクリックして、変更を保存します。
図3.5 tViolation のカスタムデータタイプ
新しくネスト化されたデータタイプごとに、
tVoilation
の横にあるプラス記号をクリックして、tVoilation
の構造化データタイプに、以下のネスト化されたデータタイプを追加します。新規データタイプの右側にあるチェックマークをクリックして、変更を保存します。-
Code
(文字列) -
Date
(日付) -
Type
(文字列) -
Speed Limit
(数字) -
Actual Speed
(数字)
-
以下の制約を
Type
のネスト化されたデータタイプに追加するには、編集アイコンをクリックして Add Constraints をクリックし、Select constraint type プルダウンメニューから Enumeration を選択します。-
speed
-
parking
-
driving under the influence
-
- OK をクリックしてから、type データタイプの右側にあるチェックマークをクリックし、変更を保存します。
tFine
カスタムデータタイプを作成するには、Data Types タブの Add をクリックし、Name フィールドにtFine
と入力して、Type リストからStructure
を選択し、Save をクリックします。図3.6 tFine のカスタムデータタイプ
新しくネスト化されたデータタイプごとに、
tFine
の横にあるプラス記号をクリックして、tFine
の構造化データタイプに、以下のネスト化されたデータタイプを追加します。新規データタイプの右側にあるチェックマークをクリックして、変更を保存します。-
Amount
(数字) -
Points
(数字)
-
- Save をクリックします。