機械翻訳について

品目ルールを使用したカタログおよびカテゴリの割当

カタログとそのカテゴリに品目を割り当てるルールと、それらの割当を検証するルールを定義できます。

カタログおよびカテゴリ割当ルール

条件が満たされた場合に1つ以上のカタログおよびカテゴリに品目を自動的に割り当てる割当ルールを定義できます。 条件は、属性値、組織割当またはその他のカタログ割当に基づくことができます。

次の表に、品目ルールの例をまとめます:

  • 衣服を表す品目の品目クラスに関連付けられているルール・セットで定義されます。

  • 品目にXSと等しい属性SizeおよびWoolと等しい属性Materialがあるかどうかをテスト

  • テストの結果がtrueの場合は、カタログKidsWearのカテゴリWinterに品目を割り当てます。

フィールド

名前

カタログ割当

説明

指定された属性に基づくカタログ/カテゴリへの品目の自動割当。

戻りタイプ

カタログ・カテゴリ

プライマリIf式

True

セカンダリIf式

[Item].[Properties].[Size] == "XS" 
AND [Item].[Properties].[Material] == "Wool"

戻り値

Catalog[KidsWear].Category[Winter]

ユーザー・メッセージ

XS、Wool品目は、KidsWearカタログの冬カテゴリに割り当てられます。

ルールを使用したカタログおよびカテゴリの再割当

品目ルールでは、シナリオに応じて様々なカテゴリに品目を再割当できます。

  • カタログで複数の品目カテゴリ割当が許可されている場合は、品目がすでに別のカテゴリに割り当てられている場合でも、再割当ルールによってカテゴリへの新規品目割当が作成されます。

    カタログで複数の品目カテゴリ割当が許可されていない場合は、再割当ルールによって次の処理が行われます:

    • 割当が存在する場合、品目の既存のカテゴリ割当を変更

    • 割当が存在しない場合、品目の新規カテゴリ割当を作成

    • 例: ルールによって、カタログAの既存のカテゴリYに品目A100が割り当てられます。ここで、A100は現在カテゴリXに割り当てられています。 カタログAでは、複数の品目カテゴリ割当は許可されません。 結果は次のとおりです:

      • 品目A100は、カテゴリXからカテゴリYに再割当されます。

      • カタログAで複数の品目カテゴリ割当が許可されていた場合、品目A100はカテゴリYに新しく割り当てられ、カテゴリXにも割り当てられたままになります。

戻り値としての変数および式を使用したカタログ・カテゴリの割当て

変数および式から値をフェッチできるルールを作成し、syncCatalogCategory( )関数を使用してカタログ・カテゴリに品目を割り当てることができます。 ルールは、属性からカタログ・コードとカテゴリ・コードを動的に導出し、品目をカタログ・カテゴリに割り当てます。 カスタム・オブジェクトまたはサービスから値を取得する属性または関数を、syncCatalogCategory関数の引数として渡すことができます。
ノート: syncCatalogCategory( )関数は、カテゴリ割当ルールの戻り値でのみ使用できます。
syncCatalogCategory()関数に式を含めるには、次の構文を使用します:
SyncCatalogCategory(Expression1, Expression2, Previous())
ここで:
  • Expression1 - カタログ・コードを返します
  • Expression2 - カテゴリ・コードを返します
  • Previous() - 更新する必要がある前のカテゴリ割当行を返します
式は、カテゴリ割当ルールの戻り値として次の方法で指定できます:
  • SyncCatalogCategory(Expression1): Expression1によって返されるカタログのデフォルト・カテゴリに品目を割り当てることで、新しいカタログ・カテゴリ割当てを作成します。
  • SyncCatalogCategory(Expression1, Expression2): Expression1およびExpression2によって返されるカタログおよびカテゴリに品目をそれぞれ割り当てて、新しいカテゴリ割当てを作成します。
  • SyncCatalogCategory(Expression1, Expression2, Previous()): カテゴリ割当行をPreviousからExpression2に再割当てします。 Previous()の式がnullと評価された場合、新しいカテゴリ割当て行が作成されます。
ノート:
  • カタログ割当ルールでは、既存のカタログ割当は削除されません。
  • 単一行属性と複数行属性もサポートされています
次に例を示します。
  • 例1: 品目には、コードがA1から導出されたカタログと、コードがA2から導出されたカテゴリが割り当てられます。 これは新しいカタログ・カテゴリ割当です。
    SyncCatalogCategory([ITEM].[AG1].[A1], [ITEM].[AG1].[A2])
  • 例2 : 連結の使用:
     SyncCatalogCategory([ITEM].[AG1].[A1], [ITEM].[AG1].[B1]+"_"+[ITEM].[AG1].[B2])
  • 例3 : 他の関数を使用します:
    SyncCatalogCategory(getCustomObjectValue("Catalog_obj", "CatalogCode", "Target_Market", [Item].[Market_Spec].[TM]), InvokeWebservice("Cat_API", [Item].[AG].[C]))
    SyncCatalogCategory(InvokeRestGet("CAT_REST", toMap("q", "ItemNumber=AS544"), "CATS[0].CLG_CODE", ) , subString( [Item].[AG].[C], 2, 4) )
  • 例4: 既存のカテゴリ割当を更新します。 Previous()関数から返されるカテゴリ・コードは、更新する必要がある既存のカテゴリ割当てを識別するために使用されます。 Previous()関数によって返される値がNullの場合、ルールは新しいカテゴリ割当てを作成します。
     SyncCatalogCategory([ITEM].[Catalog_Details].[Catalog_Code] , [ITEM].[Catalog_Details].[Category_Code], Previous([ITEM].[Catalog_Details].[Category_Code]))

カタログおよびカテゴリ検証ルール

属性値に基づいてカタログまたはカテゴリの割当を検証したり、他のカタログまたは組織割当への割当を検証する検証ルールを定義できます。

次の表に、品目ルールの例をまとめます:

  • 衣服を表す品目の品目クラスに関連付けられているルール・セットで定義されます。

  • カタログLadiesWearのカテゴリSummerに品目が割り当てられているかどうかをテスト

  • テストの結果がtrueで、品目が指定のカテゴリにある場合は、その品目がカタログKidsのカテゴリSummerにも割り当てられていないことを確認

フィールド

名前

カタログ割当の検証

説明

カタログ割当の検証

重大度

否認

If式

assignedtoCatalog(Catalog[LadiesWear].Category[Summer])

検証式

!assignedtoCatalog(Catalog[Kids].Category[Summer])

ユーザー・メッセージ

レディース・ウェア製品はカタログに割り当てられません。

検証ルールを作成してカタログ・カテゴリ割当を検証する場合、assignedToCatalog( )関数のカテゴリ引数に変数および式を使用できます。 これらの式を使用して、ルールはカテゴリ・コードを導出し、品目がカテゴリに割り当てられているかどうかを検証します。 カスタム・オブジェクトまたはサービスから値を取得する属性または関数を、関数のカテゴリ引数として渡すこともできます。

たとえば、assignedToCatalog(Catalog[Channel_Auto], [Item].[Category_Info].[Cat_Code])です。 この関数は、属性からカテゴリ・コードを動的に導出して検証を実行します。

Substring、Decodeなどの文字列関数を使用して、関数内でカテゴリ・コードを返すことができます。 関数のcatalog引数にカタログ・コードを指定する必要があります。 catalog引数に変数は使用できません。