设计和创建层次结构

Objective

After completing this lesson, you will be able to 创建维和层次结构。

层次结构

层次结构可用于结构化数据。你可以在数据准备阶段创建层次结构,也可以在创建模型后在建模器中创建层次结构。在数据准备阶段(而不是建模器中)创建层次结构更快、更自动化时,需要在建模器中进行任何后续调整或更改。

层次结构类型

有两种类型的层次结构:

  1. 基于级别的层次结构:基于级别的层次结构将维成员组织为多个级别,例如"国家/地区"、"州"和"城市"。
  2. 父子层次结构:父子层次结构将维成员组织成一组父子关系。

在本课中,我们将使用城市、州和国家地理数据的简化示例来显示两种层次结构类型之间的差异。

基于级别的层次结构

可以向通用维和组织维中添加基于级别的层次结构。基于级别的层次结构将维成员组织为多个级别,例如"国家/地区"、"州"和"城市"。在此示例中,层次结构允许您将这些地理区域组织成逻辑级别(也称为节点),从最大区域到最精细区域。

以下示例显示了具有四个属性的 存储 维度。创建基于级别的层次结构时,可以在"层次结构生成器"中将属性拖放到层次结构中。在右侧的表微件中,可以看到城市已组织到相应的状态。

从维设置中添加基于级别的层次结构

以下视频介绍了创建基于级别的层次结构的第二种方法,方法是合并各个维,以创建一个具有多个属性的维。

父子层次结构

父子层次结构将维成员组织成一组父子关系。

以下示例显示存储维度,但这次包含成员列表。在右侧的维表中,可以看到城市已组织到相应的州/省,这些州都是国家/地区的一部分。

维成员 ID,包含层次结构列和分层显示

你可以通过维表创建父子层次结构,其开头与基于级别的层次结构相同。在示例中,您可以看到:

  1. 成员包括"Country"(国家/地区)、"State"(州/省)和"City"(城市)的维。
  2. 添加父子层次结构时,会在网格中插入新列。创建父子层次结构后,选择该层次结构以创建结构。
  3. 在"层次结构维护"中,拖放成员以直观地构建父子关系。
  4. 如果定义了多个层次结构,则可以从下拉列表中选择要使用的层次结构。
  5. 父子层次结构将显示在新创建的列中。还可以通过手动插入成员来更新维表中的层次结构。

父子层次结构可以在 SAP Analytics Cloud 中手动维护,也可以从文件或 SAP 系统导入。

注意

处理计划模型的父子层次结构时,请避免数据可以直接填充到父节点的情况。

这些情况包括:

  1. 构建两个或多个层次结构,使成员成为一个层次结构中的叶节点和不同层次结构中的父节点。
  2. 更新层次结构,使有值的叶节点更改为父节点。

附加信息

既然我们涵盖了基于级别的层次结构和父子层次结构,还需要考虑以下几点:

  • 可以在层次结构生成器中为任何类型的维(基于级别的层次结构和父子层次结构)设置或更改默认层次结构。
  • 在标准模型中,允许多个账户层次结构,但账户模型、"账户"维类型只有一个系统生成的父子层次结构。
  • 允许多个层次结构的维类型可以具有一个或多个基于级别的层次结构,或者一个或多个父子层次结构,但不能具有二者的组合。
  • 不支持自定义层次结构的维类型:
    • 对于"日期"维类型,层次结构是基于模型粒度预定义的,并且你是否已为模型启用会计时间。可以在日期维的设置中指定默认层次结构。在标准模型中,可以添加其他自定义层次结构。稍后,我们将在课程中更详细地介绍自定义时间层次结构。
    • "版本"维类型没有层次结构,因为不同的版本彼此独立,并且没有父子关系。

您可以在 SAP Help Portal 的 关于层次结构 部分找到有关层次结构的详细信息,包括管理层次结构和各种层次结构场景。

创建存储维、层次结构和属性

业务示例:你正在为团队创建模型,并且需要使用基于级别的层次结构和自定义属性创建公用维(因为公用维将用于多个模型)。还需要按属性值执行累加和报表。

任务流:在本练习中,您将:

  • 创建公用维。
  • 向维添加属性。
  • 使用层次结构生成器向维中添加层次结构。