Parent-Child 层次结构

父子层次结构是包含父属性的标准维度中的层次结构。 在维度主表中,父属性描述自引用关系自联接关系。 父子关系层次结构是从单个父属性构造的。 只有一个级别分配给父子层次结构,因为层次结构中存在的级别是从与父属性关联的成员之间的父子关系中绘制的。 父子层次结构中成员的位置由 KeyColumns 父属性和 RootMemberIf 属性确定,而成员在级别中的位置由 OrderBy 父属性确定。 有关属性属性的详细信息,请参阅 属性和属性层次结构

由于在父子层次结构中,级别之间存在父子关系,因此某些非叶成员除了具有从子成员聚合的数据外,还能拥有从基础数据源派生的数据。

维度架构

父子层次结构的维度架构取决于维度主表上存在的自引用关系。 例如,下图演示 AdventureWorksDW2012 示例数据库中的 DimOrganization 维度主表。

DimOrganization 表中的自引用联接

在此维度表中, ParentOrganizationKey 列与 OrganizationKey 主键列具有外键关系。 换句话说,此表中的每条记录都可以通过父子关系与表中另一条记录相关。 这种自联接通常用于表示组织实体数据,例如部门员工的管理结构。

层次结构和级别

没有父子关系的维度通过分组和排序属性构造层次结构。 这些维度从属性名称派生其层次结构的级别名称。

但是,父子维度通过检查维度主表包含的数据,然后评估表中记录之间的父子关系来构造父子层次结构。 有关父子层次结构的详细信息,请参阅 用户层次结构

父子层次结构不会从用于创建层次结构的属性派生父子层次结构中级别的名称。 相反,这些维度通过使用命名模板(一种您可以在父属性级别指定的字符串表达式)自动创建级别名称,该模板控制属性生成层次结构的方式。 有关如何设置父属性的命名模板的详细信息,请参阅 属性和属性层次结构

数据成员

通常,维度中的叶成员包含直接从基础数据源派生的数据,而非叶成员包含从对子成员执行的聚合中派生的数据。

但是,父子层次结构中的某些非叶成员的数据可能不仅仅是从子成员聚合得到的,还可能直接来源于基础数据源。 对于父子层次结构中的这些非叶成员,可以创建专门由系统生成的子成员,这些子成员包含基础事实表中的数据。 这些特殊子成员称为数据成员,它们包含一个与非叶成员直接相关的值,并且独立于通过其后代计算得出的汇总值。 有关数据成员的详细信息,请参阅 Parent-Child 层次结构中的属性

另请参阅

Parent-Child 层次结构中的属性
数据库维度属性