零:已观察且数量为 0
未知:应有但当前不知道
未采集:来源没有记录
不适用:该字段不适合此对象
尚未发生:等待未来事件
无记录:事实行本身不存在
结论:技术上的 NULL 不等于业务含义
库存为零说明已知没有库存,库存未知说明无法判断;交付日期为空可能是尚未发货,也可能是字段未采集。把它们统一填零或空字符串会改变统计和筛选。
先定义业务状态,再决定数据库表示、展示文案和指标计算。
在模型中保留状态证据
关键字段可同时保存值、状态、来源时间和质量标记。维度使用明确的“未知”成员承接无法映射的事实,而不是让 Join 悄悄丢行。
不适用与未知应使用不同代码,且代码含义进入语义层和数据字典。
聚合规则随状态变化
真实零可以参与求和和平均,未知值通常不应被当作零;未成熟周期可能需要从完成率指标中排除或单独展示。
计数时区分记录数、非空数、已知数和适用数,百分比同时展示分母。
AI 回答要暴露不确定性
用户问“没有销量的商品”时,AI 应区分销量为零、销售数据缺失和商品尚未上架。若问题含糊,应先澄清或分组回答。
质量状态要进入查询结果与解释,不能只留在后台监控。
用缺失组合做验收
构造零值、NULL、未知成员、不适用、迟到事实、缺失日期行和 Join 未匹配样本,检查过滤、聚合、图表与自然语言解释。
BuildTable 可用于定义 AI 友好的字段和关系;状态类型、自动填充、质量传播和问答解释能力需 POC 核验。
