先给结论:报告页数大于实际对象数量时,不要急着在导出文件里删行。先判断多出来的是同一对象的重复记录,还是本来就不该合并的不同对象,再决定去重键。判断依据不是页数本身,而是每条记录的对象标识是否稳定、唯一。
第一种解释是采集或导出环节产生了重复。同一对象因为分页、参数变体、重试或多次抓取,被写成多行,页数因此虚高。这种情况下,去重是合理的,重复行合并后不影响结论。
第二种解释是对象口径本来就不一样。一个业务对象可能对应多个页面,比如同一商品的不同规格、同一门店的不同落地页、同一活动的多个语言版本。工具按页面计数,你的业务按对象计数,两者天然不等。这种情况下强行去重会丢掉真实存在的页面。
关键区别在于:重复记录指向同一个对象标识,口径差异指向不同标识但被你以为是一个对象。前者要去重,后者要改口径或保留明细。
先看对象标识列。如果多出来的行共享同一个稳定标识(如商品ID、门店编号),且其他字段高度一致,偏向重复记录。如果标识各不相同,只是名称或标题相似,偏向口径差异。
再看重复行的来源字段。带分页参数、会话参数、时间戳的行,往往是采集重复;带规格、语言、地区字段的行,往往是真实的多页面。
还可以做一次小样本核对:从报告里抽十行,逐条打开对应对象,数一数实际有几个独立对象。如果十行对应六个对象,重复概率高;如果十行对应十个对象,只是你的对象定义更粗,就该调整口径而不是删行。
去重键必须选业务上唯一的字段,而不是看起来像唯一字段的标题。假设你有一份门店页报告,共1200行,实际门店900家。若以门店编号为去重键,可能得到900行;若以页面URL为键,可能还是1200行,因为一家门店有多个页面。
实际操作:先在表格里对候选键做计数,看每个键值对应几行。若多数键值对应一行、少数对应多行,用该键去重;若多数键值对应多行,说明这个键不是对象键,需要换键或先合并页面。
这一步的结果直接决定下一步:去重后数量接近实际对象数,说明重复是主因,可以继续用去重后的数据做决策;去重后仍明显多于实际对象数,说明口径问题没解决,应回到对象定义,而不是继续删行。
如果对象标识会变更,或重复行指标差异大,就不适合直接去重,应先保留原始明细并标注合并规则。具体工具是否提供稳定对象ID、是否支持按自定义键聚合,需要以你实际使用的工具说明为准,不要假设某个按钮或功能一定存在。
这套顺序的价值在于把“页数不对”拆成可验证的步骤。去重只是其中一步,真正影响后续决策的是对象标识是否选对。选对了,页数差异会收敛;选错了,报告会变得整齐但失真。