单位与币种规范
度量字段必须统一单位并写进注释:金额统一到元或统一到分(二选一,不要混用)、比率统一为小数或百分比、时长统一为秒。多币种场景要么按币种拆列,要么保留币种列并禁止跨币种直接求和——不同币种相加得到的总额没有任何业务含义。
基本信息
| 金额 | 统一元或统一分,注释写明 |
|---|---|
| 比率 | 小数或百分比,只选一种 |
| 时长 | 统一为秒 |
| 多币种 | 保留币种列,禁止跨币种求和 |
| 折算 | 汇率来源与生效日期属于口径 |
典型使用场景
- 新建度量字段:单位写进字段注释与表说明,而不是靠口头约定
- 多币种报表:按币种分组统计,或先按汇率折算到统一币种再汇总
- 跨系统对账:先确认双方单位一致,避免出现 100 倍或 10000 倍的差异
- 汇率折算:登记汇率来源、生效日期与折算时机(入仓时还是查询时)
- 口径变更:单位调整属于口径变更,必须通知所有消费方
多币种处理
多币种处理
-- 多币种分组统计,不做跨币种求和
SELECT currency,
sum(case when currency = 'CNY' then pay_amt else 0 end) AS pay_amt_cny,
sum(case when currency = 'USD' then pay_amt else 0 end) AS pay_amt_usd
FROM dwd_trade_order_di
WHERE dt = '2026-10-12'
GROUP BY currency;
-- 需要统一币种时先折算:pay_amt * fx_rate,汇率来源与生效日期写进口径文档单位规范
| 度量类型 | 统一单位 | 注意 |
|---|---|---|
| 金额 | 元(推荐) | 注释写明,避免与分混用 |
| 比率 | 小数(0 到 1) | 与百分数混用会差 100 倍 |
| 时长 | 秒 | 避免分钟与小时混存 |
| 多币种金额 | 保留币种列 | 禁止跨币种直接求和 |
对外报表需要折算时,汇率来源与生效日期都是口径的组成部分;不登记汇率口径,同一笔金额在不同时间折算会得到不同结果,对账无法复现。
多币种直接求和会让总额完全失去意义,而这种错误不会报错;往往要到对账或审计阶段才被发现,届时历史数据需要整段重算。