次の方法で共有


派生階層 (マスター データ サービス)

マスター データ サービス派生階層は、モデル内のエンティティ間に既に存在するドメイン ベースの属性リレーションシップから派生します。

派生階層を作成して、モデル内の既存のドメイン ベースの属性リレーションシップを強調表示できます。

リーフメンバーのグループとその他のリーフメンバー

派生階層では、あるエンティティのリーフ メンバーを使用して、別のエンティティのリーフ メンバーをグループ化します。 派生階層は、これらのエンティティ間のリレーションシップに基づいています。 一方、明示的階層は、単一のエンティティからのメンバーのみに基づいており、指定した方法で構造化されます。

基になるデータに影響を与えずに、派生階層の構造を変更できます。 リレーションシップがモデルにまだ存在する限り、派生階層を削除してもマスター データには影響しません。

明示的階層と派生階層

次の表に、明示的階層と派生階層の違いをいくつか示します。

明示的階層 派生階層
構造体はユーザーによって定義されます 構造は、ドメイン ベースの属性間のリレーションシップから派生します
1 つのエンティティのメンバーを含む 複数のエンティティのメンバーを含む
統合メンバーを使用して他のメンバーをグループ化する あるエンティティのリーフ メンバーを使用して、別のエンティティのリーフ メンバーをグループ化します
不規則にできる 常に統一された数のレベルを持っている

Variable-Depth 階層の作成

可変深度階層を作成するには、次の 2 つの方法をお勧めします。

  • すべてのレベルが同じ属性を持つ必要がある場合は、1 つのエンティティを作成し、エンティティに基づくドメイン ベースの属性を使用して、このエンティティに再帰的階層を作成します。

  • リーフ メンバー用の属性セットと上位レベルの属性セットが必要な場合は、派生階層に 2 つのエンティティを作成します。 リーフ エンティティの場合は、親エンティティに基づくドメイン ベースの属性を使用します。 親エンティティの場合は、それ自体に基づくドメイン ベースの属性を使用します。

派生階層の例

次の例では、Product エンティティのリーフメンバーが Subcategory エンティティのリーフメンバーを介してグループ化され、その後、Category エンティティのリーフメンバーによってさらにグループ化されます。 この階層は、Product エンティティに Subcategory という名前のドメインベースの属性があり、Subcategory エンティティに Category という名前のドメインベースの属性があるために可能です。

階層構造は、メンバーのグループ化方法を示します。 メンバーが最も多いエンティティは下部にあります。

モデル構造から派生した階層

派生階層では、Product と Subcategory、Subcategory と Category の間のリレーションシップを強調表示できます。 この階層内のメンバーを表示すると、ツリー内の各レベルに同じエンティティのメンバーが含まれます。

マウンテンバイク派生階層の例

この種類の階層では、メンバーを無効なレベルに移動できません。 たとえば、Road-650 バイクを 1 つのサブカテゴリであるロード バイクから別のマウンテン バイクに移動できます。 1 {Bikes} のように、Road-650 をカテゴリの直下に移動することはできません。 階層ツリーでメンバーを移動するたびに、メンバーのドメイン ベースの属性値が変更され、移動が反映されます。

注記

派生階層ツリー内のすべてのメンバーは、コードで並べ替えられます。 並べ替え順序を変更することはできません。

メンバーのドメイン ベースの属性が空白で、派生階層に属性が使用されている場合、メンバーは階層に表示されません。 属性を入力することを要求するビジネスルールを作成します。 詳細については、「 属性値の要求 (マスター データ サービス)」を参照してください。

タスクの説明 トピック
新しい派生階層を作成します。 派生階層の作成 (マスター データ サービス)
既存の派生階層のレベルを非表示または削除します。 派生階層のレベルの非表示または削除 (マスター データ サービス)
既存の派生階層の名前を変更します。 派生階層名の変更 (マスター データ サービス)
既存の派生階層を削除します。 派生階層の削除 (マスター データ サービス)