Учебный фрагмент выгрузки
Ниже приведён вымышленный фрагмент. Поле «ID матча» — идентификатор записи в выгрузке, а не порядковый номер строки.
| Строка | ID матча | Дата | Участник 1 | Участник 2 | Счёт |
|---|---|---|---|---|---|
| 1 | M-104 | 12.05 | Команда Север | Команда Юг | 3:1 |
| 2 | M-104 | 12.05 | Команда Север | Команда Юг | 3:1 |
| 3 | M-105 | 12.05 | Команда Север | Команда Юг | 1:2 |
Разбор трёх строк
Строки 1 и 2 имеют одинаковый ID M-104 и совпадают по дате, участникам и счёту. Это кандидат на дубликат одной записи. До удаления следует сверить доступные исходные поля: например, время записи, источник или иной технический признак, если он есть в выгрузке.
Строка 3 похожа на первые две по дате и участникам, но имеет другой ID M-105 и другой счёт. По приведённым данным её нельзя объявить дублем строк 1–2. Это может быть отдельная игра в тот же день, а может быть другая ошибка данных; для решения не хватает признака, который однозначно связывает запись с матчем.
Удаление строки 3 только из-за совпадения даты и пары участников исказило бы число матчей и суммарные результаты.
Последовательность обработки
- Сохранить исходный файл без изменений.
- Сделать рабочую копию и добавить в неё поле статуса проверки.
- Сгруппировать строки по ID матча. Повтор одного ID пометить как кандидат на дубликат.
- Внутри каждой группы сверить участников, дату, счёт и доступные служебные поля.
- Удалять или исключать строку из расчёта только после принятого решения; в журнале исправлений указать, какая строка обработана и по какой причине.
- Строки с разными ID, но одинаковой датой и участниками оставить для отдельной проверки, а не удалять автоматически.
Что считается зависимым условием
Наличие надёжного ID меняет способ решения. Если один и тот же ID гарантированно относится к одной записи матча, его повтор — сильный признак дубля. Если ID является лишь номером строки после выгрузки или может повторяться между наборами, одного совпадения недостаточно.
В базовом случае совпадение только даты и участников не доказывает повтор. Для окончательного решения нужен дополнительный признак из конкретного набора данных: время начала, номер встречи, стадия, источник записи или другой идентификатор. Если такого признака нет, запись следует сохранить как неоднозначную, а не удалять как дубль.