Подготовка данных

Как найти дубликаты матчей в выгрузке

Дубликат матча ищут прежде всего по повторяющемуся идентификатору записи, а затем сверяют участников и другие поля. Две строки с одинаковой датой и теми же участниками нельзя удалять автоматически: это могут быть две разные игры.

Учебный фрагмент выгрузки

Ниже приведён вымышленный фрагмент. Поле «ID матча» — идентификатор записи в выгрузке, а не порядковый номер строки.

Фрагмент учебной выгрузки
СтрокаID матчаДатаУчастник 1Участник 2Счёт
1M-10412.05Команда СеверКоманда Юг3:1
2M-10412.05Команда СеверКоманда Юг3:1
3M-10512.05Команда СеверКоманда Юг1:2

Разбор трёх строк

Строки 1 и 2 имеют одинаковый ID M-104 и совпадают по дате, участникам и счёту. Это кандидат на дубликат одной записи. До удаления следует сверить доступные исходные поля: например, время записи, источник или иной технический признак, если он есть в выгрузке.

Строка 3 похожа на первые две по дате и участникам, но имеет другой ID M-105 и другой счёт. По приведённым данным её нельзя объявить дублем строк 1–2. Это может быть отдельная игра в тот же день, а может быть другая ошибка данных; для решения не хватает признака, который однозначно связывает запись с матчем.

Удаление строки 3 только из-за совпадения даты и пары участников исказило бы число матчей и суммарные результаты.

Последовательность обработки

  1. Сохранить исходный файл без изменений.
  2. Сделать рабочую копию и добавить в неё поле статуса проверки.
  3. Сгруппировать строки по ID матча. Повтор одного ID пометить как кандидат на дубликат.
  4. Внутри каждой группы сверить участников, дату, счёт и доступные служебные поля.
  5. Удалять или исключать строку из расчёта только после принятого решения; в журнале исправлений указать, какая строка обработана и по какой причине.
  6. Строки с разными ID, но одинаковой датой и участниками оставить для отдельной проверки, а не удалять автоматически.

Что считается зависимым условием

Наличие надёжного ID меняет способ решения. Если один и тот же ID гарантированно относится к одной записи матча, его повтор — сильный признак дубля. Если ID является лишь номером строки после выгрузки или может повторяться между наборами, одного совпадения недостаточно.

В базовом случае совпадение только даты и участников не доказывает повтор. Для окончательного решения нужен дополнительный признак из конкретного набора данных: время начала, номер встречи, стадия, источник записи или другой идентификатор. Если такого признака нет, запись следует сохранить как неоднозначную, а не удалять как дубль.

Источники и методика