先给结论:不要用“导出成功”或“行数看着差不多”判断完整性。把导出文件、分页记录和筛选条件放在同一条核对链上,逐页比对页码、时间范围和唯一标识,才能把“我这边全了”和“你那边少了”变成可复核的差异项。下面以你手上的一份导出文件和对应的分页记录为对象,说明怎么查、查到什么程度可以继续用、什么情况下必须重导。
同样叫遗漏,原因不同,检查动作也不同。常见有三类:
先判断属于哪一类,再决定检查顺序。页码跳号优先补页;页码齐全但对不上总量,优先核对筛选条件,而不是盲目重跑全部导出。
你需要两样东西:导出文件本身,以及这次导出对应的分页记录。分页记录如果没有现成的,就从导出过程留下的日志、任务列表或截图里整理。清单至少包含四列:页码、请求时间、返回行数、该页首尾唯一标识。
唯一标识指能区分每条记录且不会因导出而变化的值,比如订单号、计划ID、关键词ID。用首尾两个标识,比只记行数可靠得多,因为行数可能因去重规则变化,而标识序列不会凭空出现。
整理完先做三件事:
把导出文件里的唯一标识列单独取出,按分页记录的顺序排列,然后做两件事:去重和找缺口。
去重后如果总条数明显少于各页行数之和,说明有跨页重复。重复本身不一定是错误,分页边界处重复是常见现象,但它会掩盖真实缺口——你以为总数够了,其实少的那部分被重复项填平了。
找缺口更直接:把去重后的标识按数值或时间排序,检查相邻两条之间是否有跳变。假设某账户的关键词ID是连续递增的,第3页末尾是kw_2088,第4页开头是kw_2101,中间kw_2089到kw_2100缺失,这就是一个可以定位的缺口。这个例子是假设的,实际ID未必连续,但思路是:找一个有序且稳定的字段,用它来判断中间是否被跳过。
这一步的实际动作是:把缺口区间记下来,而不是立刻重导全部数据。缺口区间明确后,下一步只需要针对这个区间补查,重导范围小,核对成本也低。
如果页码连续、标识也衔接,但总数仍然对不上,问题多半不在分页,而在筛选条件。参与导出的多个角色对“同一份数据”的理解不同,通常就差在这几个地方:
把这些条件逐条写下来,和另一方逐条对照。哪一条不一致,就在那一条上重新导出一次,而不是把全部条件推倒重来。这样每次只验证一个变量,差异来源才能被锁定。
检查完之后,按下面的判断决定下一步:
需要提醒的是,导出条数变少、某页返回为零,都不能单独证明数据被正确处理了。它也可能是筛选变严、时间边界移动或接口返回延迟造成的。把现象和原因分开记录,才不会把一次偶然的返回结果当成结论。
最后,具体的分页上限、导出入口和字段名称会随工具版本变化,实际以你当前使用的版本为准;核对方法本身不依赖某个固定界面,只要分页记录和唯一标识还在,就能把完整性检查做完。