先给结论:页数比对象多,通常不是“重复抓取”这么简单,而是分页口径、对象合并规则和导出边界三者之一在起作用。去重的第一步不是删行,而是先确认“一页”到底代表什么。下面用一个明确假设的情境,把可核对的证据和决策顺序写清楚。
假设你从百度营销助手导出一份对象清单,共三页,每页显示若干行,但按对象名称去重后只剩十二个对象。此时有两种可能:一是同一对象因分页被重复计入;二是同一对象在源数据里本就存在多条记录,分页只是忠实呈现。两者处理方式完全不同,不能靠“看到重复就删”来解决。
先做一个动作:把三页原始行合并到一张表,保留页码列和行号列,不做任何删除。这个动作的结果决定了下一步——如果重复行总是出现在页与页的交界处,问题偏向分页口径;如果重复行分散在各页内部,问题偏向对象合并规则。
第一组证据看位置。分页重复通常有边界特征:上一页最后几行与下一页最前几行高度相似。对象重复则没有这种边界规律,同一名称可能出现在任意页。
第二组证据看字段。分页重复的行,除页码外其余字段往往完全一致;对象重复的行,常在某些维度上有差异,例如状态、时间范围或归属层级不同。如果差异字段恰好是你筛选时用到的条件,那它大概率是真实的多条记录,而不是重复。
第三组证据看计数口径。报告顶部或导出说明里若写明“按记录数”而非“按对象数”,页数对应的是记录,不是对象。此时页数多于对象数是正常现象,去重对象数量只会让你误判规模。
确认属于分页重复后,去重键应选能唯一标识对象的字段组合,而不是只选名称。名称可能重名,单用名称会误删真实对象。假设你选择“对象标识+时间范围”作为去重键,执行后行数下降,此时要回看下降幅度是否与边界重复量吻合。若下降远超边界重复量,说明键选错了,误删了本应保留的记录,需要回退重做。
若确认属于对象重复,则不应去重,而应决定保留哪一条。常见取舍是保留最新状态或保留覆盖范围最全的一条,并在表里加一列说明保留理由。这个动作的结果会影响后续汇总:按对象数汇总和按记录数汇总会得到不同结论,交付前必须写明用的是哪一种。
假设某次导出共三十行、三页,按名称去重后为十二个对象。先按“名称+页码”标记,发现交界处重复共六行,页内其他重复共十二行。六行属分页重复,可直接合并;十二行落在页内,需逐条看差异字段。若这十二行中有八行仅状态不同,则真实对象数可能是十二加四,而不是十二。这个推算只是说明比较方法,不代表任何真实数据。
把结论写进交付说明时,至少标注三点:去重键、保留规则、汇总口径。缺少任一项,接收方仍会重新数一遍,前面的工作等于没做。
当报告用途是审计每条记录的变化,而不是统计对象总量时,去重会抹掉变化轨迹,此时应保留原始行并另建一列标记重复组。判断依据是交付目标:要对象总数就去重,要过程证据就保留。两种目标同时存在时,输出两张表比强行合并更稳妥。
最后提醒:页数与对象数不一致本身不是错误信号,它只是提示你需要先确认口径。把口径写清楚,再去重,才能让下一步的汇总和汇报站得住脚。