| 字段级 | 空值数量与空值率 |
|---|---|
| 分区级 | 应有分区是否存在、是否为空 |
| 集合级 | 应出现的实体(门店/渠道)是否都出现 |
| 阈值 | 按历史基线设定可容忍范围 |
分区与空值检查
分区与空值检查
-- 分区是否存在且非空
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 才算通过。