适用于:Windows
Azure SQL 托管实例上的 SQL Server
重要
Master Data Services(MDS)在 SQL Server 2025(17.x)中被移除。 我们继续支持 SQL Server 2022(16.x)和早期版本中的 MDS。
在 Master Data Services 中,显式层次结构能够以指定的任意方式组织单个实体中的多位成员。 该结构可以是不规则的,且与派生层次结构不同,显式层次结构并非基于域属性关系。
注意
显式层次结构已弃用。
汇总成员将其他成员分组
显式层次结构使用由你创建的汇总成员来对其他成员进行分组。 这些合并成员一次只能属于一个显式层次结构。 显式层次结构还包括关联实体中的所有叶成员。
显式层级结构可以是不规则的,这意味着该层级结构可以同时在不同层级终止。 每个合并成员下方可以有无限数量的合并成员和叶成员,也可以一个都没有。 叶子成员既可以位于单个合并成员下,也可以位于多级合并成员下。
注意
必须先为该实体启用显式层次结构,然后才能创建显式层次结构。
显式层次结构的类型
显式层次结构有两种类型:强制和非强制。
强制显式层次结构
强制显式层次结构要求所有叶成员必须包含在层次结构树中。 默认情况下,所有成员都包含在该树的根上。 你可以根据需要重新排列成员。
非强制显式层次结构
非强制显式层次结构是指所有叶成员都位于系统创建的 未使用 节点中的层次结构。 可以根据需要将成员移出此节点。 其余成员可以保留在 “未使用” 节点中。
使用非强制显式层次结构时,对层次结构所做的任何报告或分析可能与对强制层次结构所做的报告或分析不一致。
规则
下列规则适用于(强制和非强制)的显式层次结构:
每个叶成员在层次结构中只能出现一次。
所有合并后的成员都必须包含在层次结构中。
合并成员不能属于一个以上的显式层次结构。
层次结构树中的汇总成员下方不必包含叶成员。
如果删除显式层次结构,将删除该层次结构中使用的所有合并成员。
如果删除显式层次结构中的某个汇总成员,则原先由该汇总成员分组的所有叶成员都会移动到根节点。
显式层次结构与派生层次结构
下表显示显式层次结构与派生层次结构之间的一些区别。
| 显式层次结构 | 派生层次结构 |
|---|---|
| 结构是由用户定义的 | 结构是从基于域的属性间的关系派生的 |
| 包含来自同一实体的成员 | 包含来自多个实体的成员 |
| 使用汇总成员对其他成员进行分组 | 使用一个实体的叶成员对另一个实体的叶成员进行分组 |
| 可以是不规则的 | 始终包含一致的级别数 |
显式层次结构示例
在下面的示例中,“Product”实体包含以下叶成员:BK-M101 {Mountain-100}、BK-M201 {Mountain-200}、 BK-M301 {Mountain-300}、BK-R150 {Road-150}、BK-R450 {Road-450} 以及 BK-R650 {Road-650}。
若要在特定的合并点汇总这些叶成员,可以在 Product 实体中创建合并成员。 在层次结构树中,将汇总成员插入到您希望汇总叶成员的层级位置。 插入汇总成员的位置没有限制;但是,每个成员(叶节点或汇总成员)只能使用一次。
合并成员可用于将任何级别的成员分组,叶成员和合并成员按你确定的顺序排序。
相关任务
| 任务说明 | 主题 |
|---|---|
| 创建新的显式层次结构。 | 创建显式层次结构 (Master Data Services) |
| 更改现有显式层次结构的名称。 | 更改显式层次结构名称 (Master Data Services) |
| 删除现有显式层次结构。 | 删除显式层次结构 (Master Data Services) |