# 订单表分析前检查

> 检查对象为合成测试文件 `fixtures/orders.csv`。当前仅做结构和数据质量检查；统计口径未确认，因此不计算跨币种总金额。

## 表与字段

- 文件/逻辑表：`orders.csv`（CSV，无工作表分页）。
- 记录范围：表头之外共有 4 行数据。

| 字段 | 观察到的数据类型 | 单位/含义 | 检查结果 |
|---|---|---|---|
| `order_id` | 文本 | 订单标识 | 存在重复值，唯一性规则待确认。 |
| `amount` | 数值或空值 | 金额；单位由同一行的 `currency` 决定 | 存在 1 个空值。 |
| `currency` | 文本 | 币种代码 | 同时出现 CNY 与 USD，存在币种混杂。 |
| `quantity` | 整数 | 数量；具体计量单位未提供 | 未观察到空值，业务单位待确认。 |

## 数据质量问题

- 空值：订单 `A002` 的第一条记录（CSV 第 3 行）的 `amount` 为空；其他字段未观察到空值。
- 重复 ID：`order_id=A002` 出现 2 次（CSV 第 3、4 行）。目前不能判断这是重复记录、订单明细行，还是一次修订。
- 币种混杂：`currency` 包含 CNY 和 USD。没有汇率、折算基准币种或汇率日期，不能直接跨币种汇总金额。
- 口径歧义：`amount` 是单价、行金额还是订单金额未说明；`quantity` 是否参与金额计算未说明。

## 待确认项

- `order_id` 是否应全表唯一；若否，重复行代表什么业务关系？
- 空白 `amount` 应视为缺失数据、零值，还是应剔除该记录？
- `amount` 的定义，以及它与 `quantity` 的计算关系是什么？
- 金额是否需要按币种分别统计？如需折算，应确认基准币种、汇率来源和汇率日期。
- `quantity` 的计量单位是什么？
- 去重时应保留哪一行，以及依据何种规则？

## 计算状态与人工核对

- 当前不输出金额汇总，也不进行跨币种计算。
- 待上述口径由用户确认后，再提供可复核的筛选、去重和计算公式。
- 人工复核时应逐行对照原始 CSV，特别核对空金额、重复 ID 和币种字段。
