原子指标是什么
原子指标是不能再拆分的业务度量,由三部分固定下来:业务过程(下单、支付、退款)、度量字段(金额、次数、人数)、聚合方式(SUM、COUNT、COUNT DISTINCT)。这三者确定后,指标在不同报表里就不应再改变算法——换个维度查看只是换个分组,不改变聚合方式。原子指标通常固化在明细层或汇总层,是按维度汇总与二次计算的基础。
基本信息
| 组成 | 业务过程 + 度量字段 + 聚合函数 |
|---|---|
| 常见形式 | sum(支付金额)、count(订单)、count(distinct 用户) |
| 可加性 | SUM 可跨维度相加,COUNT DISTINCT 不可 |
| 落库位置 | DWD 明细或 DWS 汇总层固化口径 |
| 配套 | 派生指标在此之上加统计周期与业务限定 |
典型使用场景
- 指标字典建设:为每个业务过程定义唯一的度量与聚合方式
- 跨报表核对:确保不同看板上的支付金额来自同一聚合逻辑
- 汇总层建表:按不同维度预先算好同一原子指标
- 口径评审:讨论时先确认分母分子分别属于哪个原子指标
- 指标平台配置:把原子指标、限定词与维度组合成可用指标
指标定义示例
指标定义示例
-- 原子指标:支付金额(可加)
SELECT SUM(pay_amount) AS pay_amt
FROM dwd_trade_order_detail_di WHERE dt = '2026-10-11';
-- 原子指标:支付用户数(去重,不可加)
SELECT COUNT(DISTINCT user_id) AS pay_user_cnt
FROM dwd_trade_order_detail_di WHERE dt = '2026-10-11';
-- 同一原子指标按渠道分组,聚合方式不变
SELECT channel, SUM(pay_amount) AS pay_amt
FROM dwd_trade_order_detail_di WHERE dt = '2026-10-11' GROUP BY channel;度量和聚合对照
| 度量类型 | 建议聚合 | 是否可加 | 示例 |
|---|---|---|---|
| 金额类 | SUM | 可加 | 支付金额、退款金额 |
| 次数类 | COUNT | 可加 | 订单笔数、访问次数 |
| 主体类 | COUNT DISTINCT | 不可加 | 支付用户数、活跃门店数 |
| 比率类 | 由两个原子指标相除 | 不可加 | 支付转化率、客单价 |
去重人数类指标在各维度汇总后不能相加:各渠道人数之和一般大于总人数,报表必须注明口径,否则总和与明细永远对不上。
原子指标定义要写清过滤条件(是否排除测试单、是否含冲正、是否含税),同一度量在不同过滤条件下的结果差别很大,这些条件属于原子指标定义的一部分。
落库位置决定复用程度:只写在报表 SQL 里的原子指标无法被其他团队复用,早晚会被重新实现一遍,口径分叉由此开始。