首页/数据/数据工程与 ETL 速查/枚举与数值范围校验规则

枚举与数值范围校验规则

枚举校验维护一份字典(状态、渠道、币种),范围校验按业务定义上下限(金额非负、折扣在 0 到 1、年龄 0 到 150);规则可配置化,字典更新后有评审记录。

枚举字典状态、渠道、支付方式、币种
范围取值下限、取值上限、开闭区间
频率每日例行稽核加上游变更后临时校验
输出字典外取值清单与影响行数

字典外取值清单

字典外取值清单
SELECT status_name, COUNT(1) AS cnt
FROM dwd_trade_order_detail_di
WHERE dt = '2026-10-11'
  AND status_name NOT IN ('created','paid','shipped','closed','refunded')
GROUP BY status_name;

范围校验

范围校验
SELECT COUNT(1) AS out_of_range
FROM dwd_trade_discount_di
WHERE dt = '2026-10-11'
  AND (discount_rate < 0 OR discount_rate > 1 OR discount_amt < 0);
枚举字典与业务系统枚举表对齐,能自动同步可避免手工维护滞后。

易错点

  • 枚举校验写死在 SQL 里,业务新增取值需改代码
  • 空值被 NOT IN 条件排除,导致空值比例被低估

数据来源与参考

  • 行业数据质量规则配置实践
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌