属性统计与文档化
属性画像是维度发布前必须完成的统计:非空率、去重基数、枚举分布、长度分布,以及像「UNKNOWN」「-1」这类伪空值的占比。结果写进数据字典的属性页并随批次更新,让使用方在建模之前就能判断这个字段能不能用、有多少脏值。没有画像的维度属性,使用方只能靠试错。
基本信息
| 核心指标 | 非空率 / 去重基数 / 枚举分布 / 长度分布 |
|---|---|
| 伪空值 | UNKNOWN、-1、空串、占位字符单独统计 |
| 落地位置 | 数据字典属性页 + 画像结果表 |
| 刷新方式 | 随批次或按周期(周、月)更新 |
| 阈值联动 | 非空率跌破阈值时提醒并触发降级复审 |
| 范围 | 统计当前口径(is_current = 1)成员 |
典型使用场景
- 建模前置判断:确认字段非空率能否支撑必填条件
- 枚举排查:发现属性出现计划外的新取值
- 基数评估:判断某字段适合做维度还是应该归类到标签
- 质量监控:非空率与基数的历史趋势变化作为数据质量信号
- 成本估算:按长度分布与基数预估维度表膨胀速度
属性画像
属性画像
SELECT
count(1) AS rows_all,
count(city) AS rows_city, -- 非空行数
count(DISTINCT city) AS city_cardinality, -- 去重基数
sum(CASE WHEN city = 'UNKNOWN' THEN 1 ELSE 0 END) AS city_unknown -- 伪空值占比
FROM dim_customer
WHERE is_current = 1; -- 按当前口径统计,避免历史版本重复计入画像指标怎么读
| 指标 | 含义 | 异常表现 |
|---|---|---|
| 非空率 | 有效值占比 | 跌破约定阈值,属性不可靠 |
| 去重基数 | 不同取值个数 | 基数接近总行数,可能是自由文本 |
| 枚举分布 | 各取值占比 | 出现计划外取值或单值占比过高 |
| 长度分布 | 字符长度区间 | 出现超长值,多为串列或脏数据 |
画像要与认证等级联动:非空率或基数跌破阈值时自动提醒并触发复审,而不是等使用方报错才发现属性已经不可用。
画像统计应固化为一套可重复执行的脚本产出,不要每次现场现算:现算的统计口径(是否含历史版本、是否含失效成员)很难保持一致,结论也就无法横向比较。