先给结论:报告页数大于实际对象数量,通常不是“工具算错”,而是同一对象被拆成了多条记录。你要先判断多出来的部分是重复行、同一对象的不同变体,还是本就不该合并的独立对象,再决定保留、改写还是退出。直接按页面数量去重,往往会把有区分价值的数据一起删掉。
报告页数和实际对象数量对不上,最常见的三种原因,处理方式完全不同。
可核对的证据是字段本身,而不是页数。把每行的对象标识、口径字段、采集时间并列出来,看哪些列完全一致、哪些列有差异。完全一致的列越多,越接近真重复;只要口径字段有差异,就先按变体处理。
当多出来的行带有独立口径,且这个口径会影响你后续的判断,就应该保留。判断标准是:删掉这一行后,你是否还能还原出原来的结论。如果删掉后无法区分“某对象在某条件下表现不同”,那这行就不是冗余。
一个假设例子:假设你导出 200 行,实际对象只有 120 个。逐行核对后发现,其中 60 行是同一批对象在不同设备条件下的第二次记录,字段里设备列不同,其余一致。此时若直接去重到 120 行,你会丢掉设备维度的差异;正确做法是先按“对象+设备”作为联合标识去重,得到 120 个对象、最多 240 条有效组合。
这个动作的结果会直接决定下一步:如果保留变体后总数仍远超预期,说明问题出在对象标识本身不唯一,需要先去规范标识,而不是继续删行。
多数“页数虚高”其实源于标识写法不统一。同一对象因为大小写、空格、全半角、后缀差异被当成多个。此时该做的不是删行,而是改写标识字段,让同一对象落到同一个键上。
改写完成后再看总数。如果数量回落到接近实际对象数,说明此前是标识问题;如果仍偏高,说明存在真正的多口径变体,回到上一步决定是否保留。
有一种情况不值得在现有报告上继续去重:缺少能唯一标识对象的字段。如果每行只有名称、没有稳定编号,且名称本身存在大量近似写法,那么无论怎么合并都带有猜测成分,合并结果无法复核。
这时合理的动作是退出当前报告,回到采集环节补充对象标识字段后重新取数。代价是重取一次,收益是后续所有合并都有据可依。反过来,如果只是少量行缺标识,可以先单独标记这些行,不参与自动合并,人工确认后再决定,而不必整份重取。
去重不是终点。合并完成后,抽几条被合并的记录,确认它们的口径字段确实一致、采集时间确实可追溯。再对比去重前后的对象总数与报告页数,若两者差距仍大,说明还有一类原因没排除:分页或分批导出时,边界行被重复计入。
这类重复的特征是出现在固定位置、字段完全一致。核对方法是看重复行是否集中在批次衔接处。若是,只需在合并规则里增加“同批次边界行只保留一条”,不必改动其他逻辑。至此,报告页数与实际对象数量的关系才真正可解释,而不是靠一次删除动作掩盖过去。