# 数据质量

<!-- BookStack import page: id=bm-quality chapter=业务建模中心 -->

## 功能定位

数据质量通过规则、运行、告警和趋势，持续检查数据的完整性、唯一性、范围、枚举、格式、时效性、行数和引用完整性。

![数据质量](https://help.bigdata365.net/uploads/images/gallery/2026-11/embedded-image-hl0epfwc.png)

*图 6-5　质量规则、运行结果和告警处理*

## 适用角色

数据管理员、质量管理员、ETL 管理员和业务数据责任人。

## 页面入口

业务建模中心 → 数据质量（`/bi/bm/quality`）。

## 规则类型

| 类型 | 检查内容 | 示例 |
|---|---|---|
| `NOT_NULL` | 必填字段是否为空 | 订单号不能为空 |
| `UNIQUE` | 单字段或组合字段是否唯一 | 客户编码唯一 |
| `RANGE` | 数值是否在合理区间 | 折扣率 0—1 |
| `ENUM` | 值是否属于允许集合 | 订单状态合法 |
| `REGEX` | 文本格式是否符合规则 | 物料编码格式 |
| `FRESHNESS` | 数据是否足够新 | 销售数据延迟不超过 1 天 |
| `ROW_COUNT` | 行数是否异常 | 当日订单量不为零 |
| `REFERENTIAL` | 外键引用是否存在 | 订单产品必须在产品维表中 |

## 操作步骤

1. 选择项目，点击“新建质量规则”。
2. 选择规则类型、数据源、校验表、字段和参数，设置阈值与严重级别。
3. 保存草稿并提交审核；审核通过后按调度运行或手工运行。
4. 在运行记录中查看通过、警告、失败和错误数量。
5. 在告警页签按待处理、已确认、已忽略筛选，查看脱敏摘要。
6. 对已知问题执行确认或忽略，并记录原因。
7. 在质量趋势中查看最近 7/30/90 天变化，评估治理效果。

## 客户应用演示：为销售订单配置金额与主键质量规则

**业务情境：** 订单数据进入分析前，需要防止重复订单和负金额影响销售指标。

### 第一步：进入“业务建模中心 → 数据质量”

![第1步重点操作：进入“业务建模中心 → 数据质量”](https://help.bigdata365.net/uploads/images/gallery/2026-11/embedded-image-curjmxpf.jpeg)

*步骤图 27-01　第1步：进入“业务建模中心 → 数据质量”。红框标出进入业务建模中心 → 数据质量。*

进入“业务建模中心 → 数据质量”，点击“新建规则”。

### 第二步：选择订单源表

![第2步重点操作：选择订单源表](https://help.bigdata365.net/uploads/images/gallery/2026-11/embedded-image-tui7dhaz.jpeg)

*步骤图 27-02　第2步：选择订单源表。红框标出选择订单源表。*

选择订单源表，创建“订单号唯一”和“订单金额不小于 0”两条规则。

### 第三步：设置严重级别、统计范围、执行周期和告警接收人

![第3步重点操作：设置严重级别、统计范围、执行周期和告警接收人](https://help.bigdata365.net/uploads/images/gallery/2026-11/embedded-image-fmvnl5df.jpeg)

*步骤图 27-03　第3步：设置严重级别、统计范围、执行周期和告警接收人。红框标出设置严重级别、统计范围、执行周期和告警接收人。*

设置严重级别、统计范围、执行周期和告警接收人。

### 第四步：保存并提交审核

![第4步重点操作：保存并提交审核](https://help.bigdata365.net/uploads/images/gallery/2026-11/embedded-image-yooiloz4.jpeg)

*步骤图 27-04　第4步：保存并提交审核。红框标出保存并提交审核。*

保存并提交审核，审核通过后手工运行一次。

### 第五步：查看通过率、失败行数和样本摘要

![第5步重点操作：查看通过率、失败行数和样本摘要](https://help.bigdata365.net/uploads/images/gallery/2026-11/embedded-image-s1azwbpg.jpeg)

*步骤图 27-05　第5步：查看通过率、失败行数和样本摘要。红框标出查看通过率、失败行数和样本摘要。*

查看通过率、失败行数和样本摘要，确认结果可被追溯。

## 最终结果与效果

订单表拥有可重复执行的质量检查；失败时能定位表、字段、批次和影响行数，并按告警策略通知责任人。

> **操作提示：** 质量规则应围绕业务风险设计，不要一次配置大量低价值规则拖慢运行。

## 当前演示环境说明

当前截图显示 72 条已审核规则、293 次运行和 0 个未处理告警。该数据仅用于演示，生产环境应以实际运行结果为准。

## 宏澜家电示例

为订单金额设置“必须大于零”的范围规则，为订单号设置唯一性规则，为客户编码设置引用完整性规则。促销期间订单激增时，行数规则发现某区域同步批次只有正常量的 12%，及时阻止错误报表发布。

## 开发人员参考

- 接口：`/bi/bm/dq/rules`、`.../runs`、`.../alerts`、`.../trend`
- 权限：`bi:bm:dq:edit`、`bi:bm:dq:submit`、`bi:bm:dq:review`、`bi:bm:dq:run`
- 规则 SQL 由受控编译器生成，禁止任意表达式注入；告警摘要需脱敏。