本包目录(311 条)

完整性校验

完整性校验关注缺失:字段空值率、分区是否存在、主体集合是否齐全(例如当日应出现的门店是否都有数据);按业务键比对白名单是实用性较高的完整性问题发现方式。

字段级空值数量与空值率
分区级应有分区是否存在、是否为空
集合级应出现的实体(门店/渠道)是否都出现
阈值按历史基线设定可容忍范围

分区与空值检查

分区与空值检查
-- 分区是否存在且非空
SELECT COUNT(1) AS rows_cnt FROM dwd_trade_order_detail_di WHERE dt = '2026-10-11';

-- 关键字段空值率
SELECT ROUND(SUM(CASE WHEN user_id IS NULL THEN 1 ELSE 0 END) / COUNT(1), 4) AS null_user_rate
FROM dwd_trade_order_detail_di WHERE dt = '2026-10-11';

主体集合完整性

主体集合完整性
-- 应出现的门店未出现即缺失
SELECT s.store_id
FROM dim_store s
LEFT JOIN (SELECT DISTINCT store_id FROM dwd_store_sales_di WHERE dt='2026-10-11') d
  ON s.store_id = d.store_id
WHERE s.is_active = 1 AND d.store_id IS NULL;
空值率要区分“业务允许为空”和“不该为空”:前者设阈值,后者接近 0 才算通过。

易错点

  • 空值率告警阈值设得过松,问题长期存在无人处理
  • 只检查总行数不检查主体集合,某地区整体缺失发现不了

数据来源与参考

  • DAMA-DMBOK 完整性维度
  • 行业数据质量规则实践
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌