品目ルール・セットおよびルールの作成の例
この例では、コンピュータ・マザーボードの整合性制約を実装するルール・セットおよびルールを作成します。
次の表は、このシナリオに必要な属性値の割当てをまとめたものです。
属性 |
制約 |
---|---|
リード率 |
リード一括合計を単位重量で除算 |
販売可能日(品目を販売できる日付) |
利用可能日の10日後 |
次の表に、このシナリオに必要な属性値検証の概要を示します。
属性 |
制約 |
---|---|
最小CPU速度(MHz) |
最大CPU速度より小さくする必要があります |
購買可能 |
Yesに設定した場合は、定価の値を設定する必要があります |
単位の高さ |
承認を必要とせずに3%以上変更できない |
タスクの要約
前述の制約を実装するには、次のタスクを実行します:
-
割当ルール・セットを作成します。
-
割当ルールを作成します。
-
検証ルール・セットを作成します。
-
検証ルールを作成します。
-
複合ルール・セットを作成します。
-
複合ルール・セットをマスター・ルール・セットに追加します。
割当ルール・セットの作成
通常、割当を実行するルール・セットは、検証ルールによって割当の結果が有効になるように、検証の前に実行する必要があります。-
「製品情報管理」作業領域で、「品目ルール・セットの管理」タスクを選択します。
-
ルール・セットの管理タスク・バーから「作成」を選択します。
-
「ルール・セット」の作成ダイアログ・ボックスで、名前とオプションの説明を入力します。
内部名は、ルール・セットの作成後は変更できません。 -
「複合」で、Noを選択します。
-
「タイプ」で、「割当」を選択します。
-
「関連タイプ」で、「品目区分」を選択します。
-
「関連名」で、「化学品」を選択します。
-
「保存して続行」をクリックします。
「ルール・セットの編集」ページには、指定された属性コンテキストを持つルール・セットが表示されますが、まだルールはありません。 選択した品目区分のすべての属性グループは、品目ルールで使用可能です。
割当ルールの作成
最初のルールによって実行される割当ては次のとおりです:
-
引合パーセントは、引合質量合計を単位重量で除算した値です
-
編集「ルール・セット」ページの「ルール」タブで、「処理」メニューから「作成」を選択します。
-
「ルール」の作成ダイアログ・ボックスで、次の表に示す値を入力または選択します。
フィールド
値
順序
10
名前
リード率
説明
引合パーセントは、引合質量合計を単位重量で除算した値です
返品タイプ
一般
ターゲット・ビジネス・エンティティ
品目
ターゲット属性グループ
危険度(ユーザー定義属性グループ(EFF)の例)
ターゲット属性
リード率(ユーザー定義属性グループ(EFF)の例)
-
OKをクリックして、ヘッダー・フィールドを受け入れます。
-
詳細セクションで、次の表で説明する式フィールドにルール式を入力します。
有効な属性グループおよび名前式がルールで使用されるようにするには、いずれかの式フィールドを右クリックして「属性の挿入」を選択し、「属性の挿入」ダイアログを使用して属性式をルール・フィールドに移入します。
フィールド 値
プライマリIf式
(このフィールドは空のままにできます。 このフィールドがnullの場合、値
true
が挿入されます。)THEN式
(次の行に示されているセカンダリIf式および戻り値で構成されます)
セカンダリIf式
(このフィールドは空のままにできます。 このフィールドがnullの場合、値
true
が挿入されます。)戻り値
round(([Item].[Hazard].[Lead Mass] / [Item].[Physical Attributes].[Unit Weight]) * 100, 2)
ユーザー・メッセージ
Percent is Mass ($[Item].[Hazard].[Lead Mass]$) divided by Weight ($[Item].[Physical Attributes].[Unit Weight]$).
属性式をドル記号(
$
)で囲むと、表示されたユーザー・メッセージに属性の現在の値がレンダリングされます。 ここに示す例のメッセージは次のとおりです:Percent is Mass (100) divided by Weight (gms).
-
「検証」をクリックして、ルール内の式を検証します。
-
「保存」をクリックして、ルール・セットを保存します。
ルール・セットを保存すると、最初の割当ルールがセットに入ります。 ルールは指定した順序で実行されるため、後の式で属性に必要な値が以前の式で計算されるようにできます。
2番目のルールによって行われる割当ては次のとおりです:
-
販売可能日は使用可能日の10日後です
この割当は、品目ルールで条件付き処理を使用する方法を示す次の例のコードと同等です:
次のステップは、品目ルール定義でそのコード・ブロックを表現する方法を示しています。if ([Item].[Main].[Sellable Flag] == "Yes") if ([Item].[Item basic].[Item Class] == "Perishables") then [Item].[Marketing].[Sellable Date] = [Item].[Planning].[Availability Date] + 3 else if ([Item].[Item basic].[Item Class]== "Consumables") then [Item].[Marketing].[Sellable Date] = [Item].[Planning].[Availability Date] + 6 else [Item].[Marketing].[Sellable Date] = [Item].[Planning].[Availability Date] + 10
-
-
編集「ルール・セット」ページの「ルール」タブで、「処理」メニューから「作成」を選択します。
-
「ルール」の作成ダイアログ・ボックスで、次の表に示す値を入力または選択します。
フィールド
値
順序
20
名前
販売可能日の計算
説明
使用可能日に基づいて販売可能日を計算します。
返品タイプ
一般
ターゲット・ビジネス・エンティティ
品目
ターゲット属性グループ
Marketing (マーケティング)
ターゲット属性
販売可能日
-
OKをクリックして、ヘッダー・フィールドを受け入れます。
-
詳細セクションで、次の表で説明する式フィールドにルール式を入力します。 表の最後の行を選択し、「行の追加」をクリックして、「Then式」の2行を追加する必要があります。
フィールド
値
プライマリIf式
[Item].[Main].[Sellable Flag] == "Yes"
(1)THEN式
(次の行に示されているセカンダリIf式および戻り値で構成されます)
セカンダリIf式
[Item].[Item basic].[Item Class] == "Perishables")
戻り値
[Item].[Planning].[Availability Date] + 3
(2) THEN式
セカンダリIf式
[Item].[Item basic].[Item Class]== "Consumables"
戻り値
[Item].[Planning].[Availability Date] + 6
(3) THEN式
セカンダリIf式
(このフィールドは空のままです。)
戻り値
[Item].[Planning].[Availability Date] + 10
ユーザー・メッセージ
(このフィールドは空のままです。)
最後の「セカンダリIf式」を空白のままにすると、デフォルトで
true
になり、常に選択されます。 「ユーザー・メッセージ」が入力されていないため、ユーザーには何も表示されません。 -
「検証」をクリックして、ルール内の式を検証します。 「保存」をクリックして、ルール・セットを保存します。
割当ルール・セットが完了しました。
検証ルール・セットの作成
検証ルール・セットは、「タイプ」が「検証」に設定されている点を除き、割当てルール・セットとほぼ同じ方法で作成されます。
-
ルール・セットの管理タスク・ページで、タスク・バーから「作成」を選択します。
-
「ルール・セット」の作成ダイアログ・ボックスで、名前とオプションの説明を入力します。
-
「複合」で、Noを選択します。
-
「タイプ」で、「検証」を選択します。
-
「関連タイプ」で、「品目区分」を選択します。
-
「関連名」で、「コンピュータ」または「ノートPC」を選択します。
-
「保存して続行」をクリックします。
検証ルールの作成
最初のルールによって行われる検証は、次のとおりです:
-
最小CPU速度(MHz)は最大CPU速度より小さくする必要があります
-
編集「ルール・セット」ページの「ルール」タブで、「処理」メニューから「作成」を選択します。
-
「ルール」の作成ダイアログ・ボックスで、次の表に示す値を入力または選択します。
フィールド
値
順序
10
名前
最大最小CPUチェック
説明
最小CPUクロック速度が最大CPUクロック速度より小さいことを確認します。
重大度
否認
-
OKをクリックして、ヘッダー・フィールドを受け入れます。
-
詳細セクションで、次の表で説明する式フィールドにルール式を入力します。
フィールド
値
IF式
(このフィールドは空のままです。)
検証条件
[Item].[Motherboard Spec].[Min CPU Speed] <= [Item].[Motherboard Spec].[Max CPU Speed]
ユーザー・メッセージ
最小CPU速度は最大CPU速度以下にする必要があります。
-
「検証」をクリックして、ルール内の式を検証します。 「保存」をクリックして、ルール・セットを保存します。
2番目のルールによって行われる検証は、次のとおりです:
-
購入可能がYesに設定されている場合、定価の値を設定する必要があります
この検証では、あるフィールドの値が別のフィールドの値に基づいてどのように値する必要があるかを示します。
-
-
編集「ルール・セット」ページの「ルール」タブで、「処理」メニューから「作成」を選択します。 「ルール」の作成ダイアログ・ボックスで、次の表に示す値を入力または選択します。
フィールド
値
順序
20
名前
定価が必要
説明
購入可能がYesに設定されている場合、定価を設定する必要があります
重大度
否認
-
OKをクリックして、ヘッダー・フィールドを受け入れます。 詳細セクションで、次の表で説明する式フィールドにルール式を入力します。 関数式
!isnull()
の!
は、式の論理結果を否定します。フィールド
値
IF式
[Item].[Purchasing].[Purchasable] == "Yes"
検証条件
(!isnull([Item].[Purchasing].[List Price]))
ユーザー・メッセージ
購買可能がYesに設定されている場合、定価はNULLにできません。
-
「検証」をクリックして、ルール内の式を検証します。 「保存」をクリックして、ルール・セットを保存します。
3番目のルールによって行われる検証は、次のとおりです:
-
ユニット高さは、承認を必要とせずに3%を超えると変更できません。
この検証では、現在本番中の値に対して新しい属性値をチェックする方法を示します。 この検証が失敗した場合、ユーザーはこの変更の変更オーダーの作成を求められます。
-
-
編集「ルール・セット」ページの「ルール」タブで、「処理」メニューから「作成」を選択します。 「ルール」の作成ダイアログ・ボックスで、次の表に示す値を入力または選択します。
フィールド
値
順序
30
名前
高さの変更
説明
単位の高さは3%を超えると変更できません。
重大度
承認が必要
-
OKをクリックして、ヘッダー・フィールドを受け入れます。 詳細セクションで、次の表で説明する式フィールドにルール式を入力します。
フィールド
値
IF式
(このフィールドは空のままです。)
検証条件
abs(percent([Item].[Physical Attributes].[Height])) > 3.0
ユーザー・メッセージ
単位の高さの変更が3%の場合、変更オーダーが必要です。
percent()
関数は、新しい値の本番値への変化率を返します。 この変更はプラスまたはマイナスの場合があるため、abs()
関数はこれを絶対的な変更に変換します。 -
「検証」をクリックして、ルール内の式を検証します。 「保存」をクリックして、ルール・セットを保存します。
検証ルール・セットが完了しました。 「使用状況」タブをクリックして、このルール・セットで使用されているすべての属性を確認します。 「保存してクローズ」をクリックして、「ルール・セット」の管理ページに戻ります。
複合ルール・セットの作成
ここで、作成した両方のルール・セットを含む複合ルール・セットを作成します。 これは、作成したルールをアクティブ化するために、最終ステップでItemエンティティに割り当てるルール・セットです。-
ルール・セットの管理タスク・ページで、タスク・バーから「作成」を選択します。
-
「ルール・セット」の作成ダイアログ・ボックスで、名前とオプションの説明を入力します。
-
「複合」で、Yesを選択します。
-
「タイプ」で、「混合」を選択します。
より複雑なシナリオでは、複合ルール・セットの複数のレイヤーがあり、その一部には検証ルールまたは割当ルールのみを含めることができます。 ただし、最終的には、両方の種類のルールを含める必要があります。
-
「保存して続行」をクリックします。
-
新しいコンポジット・ルール・セットの「ルール・セット」の編集ページの「含まれるルール・セット」タブで、「アクション」メニューから「追加」を選択します。
-
選択して追加: ルール「セット」ダイアログ・ボックスで、作成した割当ルール・セットを検索して選択し、「適用」ボタンをクリックします。
-
検索と選択ステップを繰り返して、新しい検証ルール・セットを複合ルール・セットに追加します。
-
ルール・セットは、含まれるルール・セット・リストに表示される順序で実行されるため、計算したアサイメント結果の一部を検証する場合は、割当後に検証を行うことが重要です。
-
「保存してクローズ」をクリックします。
複合ルール・セットをマスター・ルール・セットに追加
作成したルールは、次のステップで説明するように、マスター・ルール・セットに追加するまでアクティブになりません。 また、ルール・セットを実行時に実行する場合は、「下書き」チェック・ボックスの選択を解除する必要があります。 ドラフト・ルール・セットは通常のトランザクションでは実行されません。
-
「ルール・セット」の管理ページで、MASTER_RULE_SETを検索して編集します。
-
MASTER_RULE_SETの編集「ルール・セット」ページの含まれる「ルール・セット」sタブで、「処理」メニューから「追加」を選択します。
-
選択して追加: ルール「セット」ダイアログ・ボックス。コンポジット・ルール・セットを名前で検索するか、ルール・セットを定義する他のフィールドのいずれかで検索します。
-
検索結果からルール・セットを選択し、OKをクリックします。
-
ルール・セットは、マスター・ルール・セットに含まれるルール・セットのリストに表示され、次に使用可能な順序番号とともに、含まれるルール・セットの実行順序が決定されます。 「処理」メニューから「順序の編集」を選択して、順序を変更できます。
-
「保存」をクリックして、マスター・ルール・セットを保存します。
これで、検証をテストする準備ができました。 関連する品目を更新する場合は、トリガーされるルールによって更新された値を検証し、エラー・メッセージが表示されるはずです。
編集「ルール・セット」ページで他のタブの一部を確認することもできます。 検証ルールおよび割当ルール・セットで、ルール「含まれる場所の設定」タブに、それらを追加した複合ルール・セットが表示されます。 複合ルール・セットでは、Usages(使用)タブのAttributes(属性)セクションに、ルール・セットの品目割当が表示されます。
完全性スコア
「完全性スコア」は、品目の完全性の割合を示し、特定の属性に対して返される値に基づきます。
製品ルールを作成して、製品情報管理作業領域の品目に完全性スコアを設定できます。 これは、様々なステータスまたはライフサイクル・フェーズに基づいて品目情報をエンリッチする場合によく機能します。
たとえば: 生産ステータスに移動する前に、品目の特定の属性が特定の設定基準を満たす必要があるというルールを設定できます。 ユーザーは、この属性を手動で入力できません。 この属性の値は、「割当ルール」から導出されます。 このルールは、異なる属性グループに分散する属性間で指定された値に基づいて記述できます。
たとえば: 完全性スコアが80%を超える場合は、品目ステータスをアクティブに変更できます。 これにより、ダウンストリーム製品で使用できる必要な情報が品目に確実に表示されます。