先给结论:报告页数多于实际对象数量,通常不是“多出来的都是重复”,而是导出层级、时间切片和去重键三者中至少有一个与你的统计口径不一致。要做的不是删行,而是先固定一个“对象唯一标识”,再判断多出来的页数属于重复、拆分还是无效记录。下面用一个假设情境把决策过程走完。
假设你负责一个已有投放业务的推广账户,需要把某在线推广软件里的“转化对象”清单交给财务核对。系统按天导出,你选了最近30天,得到120行;但业务台账里只有80个实际对象。此时不能直接按行去重,因为行数变多可能来自三种完全不同的原因。
这三种原因的处置方式不同:时间切片要去重后保留首次或末次,渠道拆分要决定按对象合并还是按来源保留,真实重复才应直接删除。判断顺序错了,就会把有效记录当成垃圾清掉。
去重键是判断“两个对象是不是同一个”的字段组合。常见选择有三种,适用条件不同:
实际动作:把导出文件按候选去重键排序,统计每个键出现次数。如果某个键只出现一次,说明它可能不是真正的唯一标识;如果大量键出现两到三次,说明拆分维度还在起作用。这个结果直接决定下一步是换键还是加维度。
报告页数往往不等于记录行数。分页、汇总行、表头重复都可能让页数看起来偏大。先确认导出的是明细还是聚合:如果每页底部有“小计”,这些行本身不是对象,应排除后再统计。
在假设情境中,120行里有20行是每日小计,实际明细100行。按“对象标识+日期”去重后剩85行,再按“对象标识”去重后剩78行。此时与台账80个对象的差距只有2个,属于可解释范围:可能是两个对象在业务系统中尚未登记,而不是软件多算。这个中间结果说明,去重键从复合键换成业务主键,比继续删行更有效。
关键前提发生变化时,决策也应改变。可以按以下条件区分:
假设前提从“核对总数”变为“分摊渠道预算”,那么之前按业务主键去重得到的78条就不再适用,需要退回复合键口径重新导出。这就是变化前后应采取不同决策的具体条件:目的决定去重键,去重键决定数量,而不是数量反过来决定删哪些行。
去重完成后,至少做两项交叉检查。第一,随机抽取若干对象,回看其原始记录是否确实属于同一实体;第二,用去重后的数量与业务系统同口径数量对比,差异应能逐条解释。若差异无法解释,不要用“统计误差”掩盖,应回到去重键定义重新检查。
另外要留意:导出量下降或某天记录归零,并不能单独证明去重正确。它也可能是筛选条件变严、字段缺失或导出任务未完成。把这类现象当作线索而非结论,才能避免把口径问题误判为数据问题。
最终交付时,建议在报告里注明去重键、保留策略和已知差异原因。这样下一次前提变化时,接手的人能直接判断该沿用还是该重做,而不是重新争论页数为什么对不上。