AI 辅助数据清洗与报表口径对齐:从原始导出到可复用校验脚本
导读:报表对不上,往往不是算错了,而是口径没对齐。本文用一个可复用的思路,把 AI 辅助数据清洗和报表口径对齐串起来:先把原始导出变成可校验的数据,再用脚本把口径固定下来,而不是每次靠人工对数。
一、先说清楚口径,再动手清洗
口径对齐的第一步是写一张口径表,而不是直接打开表格改数字。口径表至少要写清四件事:统计周期是按自然日还是业务日、金额是含税还是不含税、用户去重按什么键、空值和退款算不算在内。把这张表交给 AI 时,要让它先复述口径,而不是直接出代码;复述不一致的地方,就是最容易出错的地方。
二、原始导出的常见脏数据与处理步骤
第一步,统一格式。日期混用文本与时间戳、金额混用元与分、编码前后带空格,这些问题要先做标准化,而不是在聚合时顺带处理。第二步,处理缺失与重复。主键重复先保留来源可追溯的一条,缺失值要区分确实为空和采集失败,二者不能用同一个默认值填充。第三步,做业务规则校验。例如退款单必须有原单、状态为已关闭的订单不应计入在途金额、同一用户同一天不应出现两条互相矛盾的身份记录。
三、让 AI 生成校验脚本,而不是只生成清洗代码
一个可复用的校验脚本应该包含三类检查。第一是结构检查:字段是否存在、类型是否正确、主键是否唯一。第二是口径检查:按口径表重新计算关键指标,并与报表结果逐项比对,差异超过阈值就报错。第三是趋势检查:与上一周期对比,突变超过合理区间时输出可疑明细,而不是直接判定为错误。
示例:口径校验脚本骨架
以下是一个 Python 风格的校验骨架,重点不是一次性写全,而是把口径变成可执行的断言。
import pandas as pd
df = pd.read_csv('orders_raw.csv')
df['order_date'] = pd.to_datetime(df['order_date'], errors='coerce')
df = df.drop_duplicates(subset=['order_id'], keep='first')
valid = df[(df['status'] == 'paid') & (df['refund_flag'] == 0)]
report_amount = valid['amount_yuan'].sum()
assert valid['order_id'].is_unique, '订单主键重复'
assert valid['amount_yuan'].notna().all(), '金额存在空值'
print('口径内有效订单金额:', report_amount)
四、从一次对齐到每次可复用
把口径表、清洗规则和校验脚本放在同一个仓库里,报表每改一次口径就改一次脚本并记录变更原因。发布前跑三遍:跑原始导出、跑清洗后数据、跑报表结果,三处口径一致才算完成。这样做的好处是,下一次导出格式变化或口径调整时,不需要重新人工对数,只需要更新口径表和对应的断言。
小结:数据清洗的价值不在于把表格变干净,而在于让口径可复现、可校验、可追溯。先定口径,再清洗,最后用脚本把口径锁住,报表对齐就从一次性劳动变成了可重复的工作流。
- 点赞
- 收藏
- 关注作者
评论(0)