> ## Documentation Index
> Fetch the complete documentation index at: https://docs.xpertai.cn/llms.txt
> Use this file to discover all available pages before exploring further.

# ❄️维度设计器

对维度的管理和分析是多维模型最重要的功能之一, 维度设计器能够帮助用户定义数据的维度、层次以及各个维度间的关系，从而提高数据分析的效率。

<Info>
  维度的规划和构建好不好是从技术层面衡量多维模型的重要标准, 其次是指标管理从业务方面衡量模型的能力, 没有好的维度管理就没有好的指标管理, 最后才是好的可视化展示能力.
</Info>

创建维度有以下两种方式:

* 模型内联维度;
* 共享维度;

## 内联维度

内联维度是指直接在多维数据集编辑界面里创建维度, 创建的维度只能被当前多维数据集使用, 不能被其他多维数据集引用到.

详情参考 [多维数据集设计器#维度](../cube-designer/#维度)

## 共享维度

**共享维度** 是指在多维数据模型中，被许多数据多维数据集共用的维度。这样的设计可以保证数据的一致性和可重复性，同时可以减少数据的存储和维护的成本。共享维度可以被多个数据多维数据集共用，每个多维数据集可以选择使用不同的维度层次结构和维度成员, 使用共享维度可以统一规范维度数据和管理。

一个维度可以创建一个或多个层次结构.

<img src="https://mintlify.s3.us-west-1.amazonaws.com/xpertai/en/data/analytics/semantic-model/dimension-designer/dimension-designer.png" alt="" />

操作步骤: 点击实体标题栏中的 **新建** 按钮, 或者将数据表拖至模型实体区域将会打开维度创建窗口, 选择类型为 **维度**.

<img src="https://mintcdn.com/xpertai/0avAZsO6pri8DJS6/public/img/models/create-shared-dimension.png?fit=max&auto=format&n=0avAZsO6pri8DJS6&q=85&s=d952728a0391ba8086c22cb291bdb99c" alt="创建共享维度" width="1388" height="1064" data-path="public/img/models/create-shared-dimension.png" />

* 类型: **多维数据集**；
* 名称: 多维数据集的唯一技术名称；
* 标签: 多维数据集的语言描述；
* 表：维度物理表
  * 主键：维度表的主键字段；
  * 可见：维度启用的默认层级字段；
  * 标签：维度物理表字段的语言描述；
  * 字段：维度物理表字段的技术名称；

共享维度编辑界面有比内联维度更丰富直观数据的功能界面, 维度界面共分为 4 个功能区域:

* 左下, 维度表(Dimension Tables): 已添加的维度物理表, 由数据表区域拖至此;
* 右下, 维度表关联(Dimension Tables Join): 编辑维度表关联关系;
* 左上, 层级(Levels): 已创建的维度层级列表, 由维度表区域字段拖至此;
* 右上, 维度数据预览(Dimension Data Preview): 预览由已创建层级决定的维度数据预览.

编辑属性:

* 点击导航栏左侧更多按钮, 选择(编辑)维度, 在属性编辑界面对维度属性进行设置;
* 点击层次结构页签上的更多按钮, 选择(编辑)层次结构, 在属性编辑界面对层次结构的属性进行设置, 同时可以对维度属性进行设置;
* 点击选中层级, 在属性编辑界面对层级属性进行设置;

### 维度属性

[维度](../nultidimensional-models#维度) 属性设置一些维度的基础信息, 详细列表

| 属性     | 英文名称              | 描述                     | 可选值           |
| ------ | ----------------- | ---------------------- | ------------- |
| 名称     | Name              | 维度唯一名称标识               | 一般使用英文字符      |
| 标签     | Caption           | 维度语言描述                 | 用户语言          |
| 描述     | Description       | 长文本描述                  | 用户语言          |
| 事实表外键  | Fact foreign key  | 与维度关联的事实表外键, 此属性内联维度可用 | 事实物理表字段       |
| 维度类型   | Dimension Type    | 除正常类型外就是 Time 时间类型的维度  |               |
| 默认层次结构 | Default Hierarchy | 默认的层次结构                |               |
| 语义     | Semantics         | 维度的语义, 增强维度的表达能力       | [语义设置](#语义设置) |

## 层次结构和层级

维度可以具有一个或多个层次结构。层次结构通常从合计层级开始，然后是子层级，最后细分到最低详细层级。

详见 [层次结构](./hierarchy/)

## 预览

在维度设计器中, 每个层次结构都可以通过预览区域对维度数据进行预览, 以便于用户对维度数据的正确性进行验证.

维度数据预览支持两种方式：

* **表格**：以表格形式展示维度数据；
* **树形**：以树形结构展示维度成员的层级关系；

<img src="https://mintcdn.com/xpertai/0avAZsO6pri8DJS6/public/img/models/preview-dimension-table.png?fit=max&auto=format&n=0avAZsO6pri8DJS6&q=85&s=20ca7ff1782c56a6474c059b83ceb6d8" alt="Dimension Members Preview Table" width="2998" height="1548" data-path="public/img/models/preview-dimension-table.png" />

### 树形预览

多维引擎会根据层次结构中的层级顺序划分维度成员之间的上下级隶属关系，形成一个树形结构进行展示：

* 层级序号：层级的顺序编号。
* 每个层级展示为一列，列名为层级的名称。
* 子节点数量：每个节点下的子节点数量，最末级节点没有子节点。
* 所有成员层级：当层次结构设置了 "有所有成员" 属性时，会在树形结构的最顶层展示一个 "所有成员" 节点。

<img src="https://mintcdn.com/xpertai/0avAZsO6pri8DJS6/public/img/models/preview-dimension-tree.png?fit=max&auto=format&n=0avAZsO6pri8DJS6&q=85&s=949597c4bcca08faa0bdbd04899512c1" alt="Dimension Members Preview Tree" width="2996" height="1548" data-path="public/img/models/preview-dimension-tree.png" />

实际使用中，度量值将按照此树形关系对维度数据进行汇总计算。
