---
order: 6
navTitle: 模型管理
indexTitle: 模型字段管理
---
# 模型管理

使用数据加工生成的模型或导入已有的模型，在模型管理中可以设置模型属性和模型字段属性等内容。在**数据**模块的**模型**列表下，可查看当前项目中的数据模型，选中对应模型名称即可在右侧查看模型的相关信息。

在模型输出节点包括数据列表、字段列表、加工中的SQL语句、关联关系、树形结构、性能优化、血统分析、模型属性等，同时每个加工节点也提供了相关的属性设置。

![模型管理](./images/2020-08-17-17-34-44.png)

## 模型类型{#type}

按照使用场景提供了多种模型类型，包括新建[空白模型](../input-model-data.md)，[数据加工](../../data-process/create-dataflow.md)模型等，模型分类及使用场景参考文档[模型分类](./model-data-type.md)。

## 查看模型数据{#model-data}

在**数据列表**下可查看模型数据，包括模型中显示的所有字段以及数据内容。选中对应字段名称点击下拉按钮或者**右键**可对字段进行相关操作：

![](./images/2020-08-17-15-47-24.png)

- 重命名：对字段名称进行重命名
- 字段类型：设置或修改字段的字段类型，包括字符型，浮点，整型，日期型，时间类型等
- [字段角色](#字段角色)：当字段的数据为时间、日期、行政区划代码或文件类型时，设置字段角色后可在可视化分析中进行相关的分析
- 显示格式：设置字段中的数据展示的格式，以及在可视化分析中的显示格式，显示格式类型可参考文档[显示格式](../../data-viz/dash/design/data/displayformat.md)
- 转换成维度/度量：当字段为度量且需要转换成维度时，点击转换成维度即可，反之当字段是维度时，点击转换成度量即可转换成度量。
- 隐藏：当模型表字段较多且字段的数据不需要时，可以隐藏字段，当字段隐藏后，可以勾选工具栏上方的**显示隐藏的字段**进行查看。
- 字段标签：用于对字段进行标识，可用于通过标签对字段进行过滤等
- 从主键中移除/设置为主键：当字段需要设置为主键时选择**设置为主键**，或者将主键字段取消

:::tip

- 在每个加工节点都提供了数据列表可以查看数据
- 点击**显示行数**可以查看数据总行数，并进行跳转翻页查看
- 数据量较大时可以通过设置分页栏的**每页行数**进行分页查看，默认为每页100行
  :::

## 查看模型字段{#model-field}

在字段列表可以查看和修改模型的字段属性，默认展开的字段属性包括：

![字段列表](./images/2021-05-25-12-49-07.png)

- 名称：物理字段名对应的名称（comments），如果数据库中有comments，则为字段的comments。如果没有comments，则与物理字段名一致。一般用于对字段数据的业务描述，支持中文
- 类型：设置或修改字段的字段类型，包括字符型，浮点，整型，日期型，时间类型等
- 原始字段：只有加工后的模型表有此属性，表示该字段对应的输入模型表及字段名称
- 物理字段名：视图或者数据库表中存储的字段名
- 关联表：当字段为维度时，可[设置关联表](#设置关联表)
- 显示格式：设置字段中的数据展示的格式，以及在可视化分析中的显示格式，显示格式类型可参考文档[显示格式](../../data-viz/dash/design/data/displayformat.md)
- 字段长度：设置字段的字段长度
- 小数位数：当字段为浮点型或其他类型时，设置小数位数
- 业务含义：对字段的业务化描述

其他字段属性息可以通过**更多**>**显示字段属性**[查看更多字段属性](#field-properties)

### 搜索字段{#search-field}

在**数据列表**或**字段列表**界面，点击工具栏上的放大镜按钮，可搜索当前模型中的字段，搜索范围为：字段名称，原始字段，物理字段名进行搜索，不区分大小写。选中搜索结果会在列表中定位并高亮显示。

![](./images/2020-08-12-12-57-34.png)

### 切换字段显示模式{#switch-display}

在**数据列表**或**字段列表**页面，点击工具栏上方的三个点按钮，可切换字段显示模式及查看更多字段属性，分为以下几类：

![](./images/2020-08-12-14-47-41.png)

- 显示格式
  - 原值：在数据库中数据默认存储的格式，勾选为原值时，无法修改字段的显示格式
  - 自动：当设置了显示格式后，数据会显示为设置了显示格式后的数据格式，默认为自动

:::tip

1. 工具栏上的显示格式菜单，不会影响到仪表板或其他页面中的数据展示，属于视图切换。
2. 字段上设置的显示格式，保存后会影响，即在仪表板或其他页面中会按照设置的显示格式展示。
3. 工具栏上的显示格式菜单优于字段设置，即工具栏上设置了显示**原值**，数据面板中一定会显示原值，无视字段设置。工具栏为**自动**，即为按照字段设置显示。
   :::

- 字段布局：只有字段列表下可设置字段布局
  - 分栏：将字段按照维度和度量进行分栏显示
  - 平铺：按照模型里字段的存储顺序列举出模型中的所有字段，平铺时可在字段名称，字段类型，物理字段名上点击列头进行排序
- 查询
  - 自动查询数据：选中加工节点后自动刷新数据。
  - 预览数据：开启预览数据后，会查询预览数据集中的数据。
  - 显示字段属性：即[查看更多字段属性](#field-properties)，通过勾选的方式选择在字段列表下需要显示或者隐藏的字段属性
- 动作

  - 缩写物理字段：根据物理字段名的中文首字母缩写，重新生成字段名，设置后会对模型有影响和调整，需要保存和重新提取数据等操作
  - 匹配数据元：当字段名称与数据元表（`/sysdata/data/tables/meta/META_ELEMENTS.tbl`）中的数据元字段一致时，点击**匹配数据元**可查询数据元匹配结果，当鼠标停留在数据元上方时，可查看数据元的业务意义描述，以方便用户判断自动匹配结果是否正确。点击下拉可切换数据元名称

  ![](./images/2020-08-12-14-39-57.png)

### 查看更多字段属性{#field-properties}

在字段列表可查看更多属性字段，并设置字段属性的显示隐藏，**更多**>**显示字段属性**：

![字段列表](./images/2021-05-25-12-49-07.png)

- 文字字段：当字段的数据为编码类，可设置对应的文字字段
- 数据元：表示可管理的最小的数据单元，用来描述数据的定义如长度、类型、规范等，数据元信息记录在`/sysdata/data/tables/meta/META_ELEMENTS.tbl`中
- 标签：用于对字段进行标识，可用于通过标签对字段进行过滤等
- 取数公式：从其他模型中取数时的公式或表达式，如`[销售汇总表].[成本价格]=[月销汇总表].[零售价格]`
- 取数条件：结合**取数公式**使用，表示满足一定条件时取数公式才生效。如果没有设置此属性，但是设置了**取数公式**属性，那么将总是按**取数公式**进行取数
- 默认值表达式：字段的默认值，支持表达式。当插入数据时，如果该字段为空，则取默认值写入。如获取当前写入时间`now()`

:::tip
**名称**属性必须显示，不能设置为隐藏
:::

### 设置关联表{#associated-table}

关联表是模型的一个字段属性，通常用于给代码字段设置关联的文字说明信息，如企业ID字段关联企业基本信息表、行业代码字段关联行业代码表、行政区划字段关联行政区划表，被关联的表通常称为[维表](../GLOSSARY.md#维表)，代码字段一般不具可读性，关联维表后系统会自动显示代码对应的文字描述信息。

在**数据模型**的**字段列表**界面，可以设置字段的**关联表**属性。

![关联表下拉选项](./images/2020-11-25-17-51-22.png)

下拉选项：

- 无：默认
- 自定义：点击后弹出模型选择对话框，可以选择一个模型作为该字段的维表

字段设置关联表后，除了能显示代码字段的文字描述信息外，还能带来如下的好处：

- 字段过滤时下拉框以维表的默认树形结构显示下拉树，方便筛选过滤
- 可通过**维键.维表字段**的方式访问维表的字段

## 管理字段{#filed-management}

### 创建字段{#creat-field}

当模型中已有的字段无法满足用户所需，需要根据已有的字段构造出的新的字段列或者对字段进行修改时，可以创建字段，包括[创建计算字段](../../data-process/transform/calc-field.md)，[创建分段](../../data-process/transform/calc-section-field.md)，[创建分组](../../data-process/transform/calc-group-field.md)。

![](./images/2020-08-12-13-00-24.png)

### 删除字段{#delete-field}

删除字段有3种方式：

1. 单个字段的隐藏：当字段不需要时，可以对字段进行**隐藏**
2. 多字段批量隐藏：对于加工中的加工过程节点，可以选中待加工的模型表，**工具栏**>**选择字段**，选择加工中需要使用的字段，当字段列表较多时，只选择需要的字段可以优化加工中的数据查询时间

![](./images/2020-08-12-13-01-25.png)

- 全选：选中所有字段，取消全选即全都不选，默认为全选
- 反选：选择未选中的的其他字段

3. 单个字段的移除：使用[列加工](../../data-process/transform/column-processing/README.md)组件，对字段进行**移除**

:::tip

1. **隐藏**的字段，可以勾选工具栏上方的**显示隐藏的字段**进行查看，在隐藏的字段上右键可以设置字段**显示**
2. 使用[列加工](../../data-process/transform/column-processing/README.md)**移除**的字段，可在**列加工步骤**中删除该条加工步骤即可恢复字段
3. 移除操作只发生在字段产生的节点，比如，新建的计算字段，在本节点上可以移除，但是在后续节点上就只能隐藏。移除是加工步骤，隐藏是全局的操作。
   :::

### 修改字段{#modify-field}

在**数据列表**上选中字段下拉或者右键，及在**字段列表**界面可修改字段信息，如重命名、设置字段类型、字段角色等。

### 查看字段血统分析{#pedigree-analysis}

对于数据加工中的模型，可查看字段的血统分析，血统分析有2种方式：

**字段血统分析**

在字段上下拉或者右键，选择血统分析：

![](./images/xtfx.gif)

- 全局血统分析：即当前模型表及字段来源于项目数据模型中的哪些表及对应的字段，以及该表加工后用于哪些对象，包括加工对象和分析对象，**全局血统分析**即进入到**血统分析**标签页
- 加工内血统分析：即当前字段来源于加工内的哪些模型以及加工路径，进行血统分析时，会高亮显示对应的模型表及加工路径，点击右上角的**退出血统分析**即可隐藏。

**全局血统分析**

点击工具栏切换到**血统分析**标签页，可切换显示或隐藏血统字段或者显示模式：

![](./images/2020-08-18-18-07-41.png)

提供了3种显示模式：

- 默认：该模型表的来源表及用于的加工对象
- 分析对象：该模型表用于的分析对象，包括报表、仪表板等
- 全部：该模型表的来源表及用于的加工对象和分析对象

### 字段角色{#field-role}

[字段角色](./field-role.md)即数据角色，是对数据概念的业务归类，比如“日期"、"手机号码”，“身份证号”。系统中的字段角色可以分为以下几类：

- 地理角色：用于将地区相关的维度字段的值与一个经纬度值关联，从而在地图上显示对应的位置，因此地图控件的位置字段必须是设置了地理角色的数据字段。地理角色分为中国行政区划与国家地理信息
- 日期角色：日期角色包含日期部分如下：年、年月、日期
- 文件：文件角色分为图片、文档、附件
- 其他：其他类型的数据角色，如HTML、多值等

当需要添加自定义的字段角色时，可参考文档[如何配置数据角色](../faq/howto-custom-data-role.md)。

### 字段存储设置{#field-storage-settings}

在模型的数据列表选中字段并点击右键，在弹出菜单中可选择**字段存储设置**，如下：

![字段存储设置](./images/2021-09-18-14-15-00.png)

示例地址：[企业主要人员-职务](https://demo.succbi.com/v5/DEMO/data?:open=EKvWWzx8DSEpHk1HSZOZOF)

在示例的`企业主要人员表`中，一个员工在企业中可能任职多个职务，可以将多个职务使用逗号隔开存储在该员工的职务字段中，并在字段存储设置中勾选**存储多个**。

字段存储设置仅对字符型字段可用，主要用来设置字段存储多个数据项等存储属性，通常用于[事实表](../GLOSSARY.md#fact-table)中设置了[关联表](#associated-table)的字段存储多个关联表的主键值时使用，比如企业人员表中一个人员担任多个职务，电影信息表中一部电影包含多个主演；也常用在业务应用中上传多个附件到一个字段中存储，比如[提交商品评价](https://demo.succbi.com/v5/demo-spg/%E9%99%84%E4%BB%B6)中一次评价提交多个截图。

字段存储设置对话框中可设置如下属性：

- 存储多个：默认不勾选，勾选后可设置分隔符。
- 分隔符：默认为逗号`,`。

::: tip 提示
当字段设置为[文件角色](./field-role.md#file)时可以设置更多的存储属性，详细介绍请参考[文件角色](./field-role.md#file)。
:::

### 同步物理表结构{#sync-table}

**逻辑模型与物理模型结构不一致**

当模型结构（包括空白模型与数据加工模型）与输出的物理表结构不一致时，刷新按钮上会有红色感叹号标记，点击刷新按钮可查看模型表与物理表的差异，并勾选需要修改的差异信息同步物理表结构。

![](./images/2020-08-17-16-54-49.png)

处理方式：

- 将勾选的差异同步到数据库表：将勾选的差异信息同步到物理表里，即按照模型表的设置
- 将勾选的差异同步到模型表：将勾选的差异信息同步到模型表里，即按照数据库表的设置

**输入节点与来源表结构不一致**

当数据加工的输入节点的模型表发生字段修改时，系统可以侦测到源头表的结构变化，在输入表上会显示一个黄色M标记，可点击刷新查看字段差异并更新字段结构：

![](./images/2020-08-12-13-53-26.png)

处理方式：

- 将差异信息同步到输入节点：即同步来源表的物理表结构并更新数据，在后续加工节点中也会同步修改
- 不同步：即不同步修改

## 模型属性设置{#properties}

在模型属性节点可设置模型属性，如主键，数据期类型，提取数据，目标物理表等，可参考文档[模型属性](./model-settings.md)。

![](./images/2020-08-12-13-58-25.png)

## 模型关联关系管理{#model-relations}

在**关联关系**标签页下，可查看当前模型表与其他模型的关联关系，当鼠标方式对应模型名称上，可查看模型的信息，包括模型路径与描述，可参考文档[关联关系设置](./model-relations.md)。

![](./images/2020-08-12-14-03-06.png)
