先给结论:不要把页数直接当对象数,也不要急着删行。正确做法是先判断重复发生在哪一层——同一个对象被拆成多行、多个对象被合并成一个标签,还是分页与导出造成的机械重复——再决定保留、改写还是退出。判断依据来自对象标识本身,而不是报告的行数。
报告页数多于实际对象数量,常见原因只有三类,核对方式也不同。
先做一次分组计数:按对象标识分组,统计每组行数。组内行数大于一的,属于前两类;标识字段含分隔符的,属于第三类。这个动作的结果决定下一步——机械重复可以直接压缩,拆分重复要保留维度,合并错位必须回退到原始导出重新拆开。
面对重复行,处理方式不是越干净越好,而是看下游怎么用。
如果重复来自地区、设备或匹配类型,而这些维度正是你要比较的对象,就应该保留多行,只把对象标识统一成同一套写法。前提是下游分析需要按维度切片。此时删行等于抹掉比较基础。
大小写、单复数、连字符与空格混用造成的重复,适合改写而非删除。做法是先定义一条规范标识,把变体映射过去,再按规范标识重新计数。改写要留一份映射记录,否则下次导入又会出现同样的分歧。
如果同一对象在短时间内被反复抓取,且抓取时间、页码等字段是唯一差异,这些行对分析没有增量信息,可以退出。但退出前要确认一件事:抓取量归零或行数骤降,不能单独证明去重正确,也可能是抓取失败、分页中断或筛选条件被改动。把行数变化和抓取日志一起看,才能排除这些解释。
多个角色对“到底有多少个对象”理解不同,通常是因为各自用了不同的计数口径。把分歧转成可核对的项目,比争论谁对更有效。
假设一份报告显示 500 行,按标识去重后得到 320 个对象,其中 180 个对象各占两行。这 180 组如果是地区维度,就保留;如果是导出重复,就退出。这个例子只说明比较方法,不代表任何真实报告的实际比例。
去重完成不等于可以交付。回查的对象是被退出的行:随机抽几行,确认它们确实没有携带独有信息。如果退出的行里含有只在那一行出现的字段值,说明去重规则切掉了有效维度,需要回退并调整规则。这一步的结果直接决定报告能否进入下一步分析,而不是走个形式。
至于具体工具的去重入口、字段命名和导出格式,不同产品差异很大,需要以你手上那份报告的字段说明为准,不要照搬别处的操作路径。规则定清楚之后,页数与对象数量的差异就从争议变成了可复算的项目。