У меня есть 2 базы данных только для чтения db1 и db2. Я хочу сравнить строки между этими базами данных и самой базой данных, чтобы получить похожие совпадающие записи.
Название и номер поставщика, сумма счета, дата счета, номер счета будут сопоставимы. Чем больше совпадений в одной и той же транзакции, тем выше вероятность ее дублирования.
Пример 1. У нас есть данные из таблиц db1 и db2, и ожидаемый результат будет следующим:
Таблица db1:
Название поставщика / № поставщика / № счета / Дата выставления счета / Сумма счета
Cintas / 100001234 / 8001 / 5-17-2019 / Rs.450.00
Cintas / 100001234 / 9001 / 6-17-2019 / Rs.220.00
ABB / 10025552 / 25255 / 5-01-2019 / Rs.550
Abc / 100001122 / 154666 / 5-21-2019 / Rs.180
Таблица db2:
Название поставщика / № поставщика / № счета / Дата выставления счета / Сумма счета
Cintas / 100001234 / 8001 / 5-17-2019 / Rs.450.00
Cintas / 100001234 / 9001 / 6-17-2019 / Rs.550.00
Bcc / 102103312 / 154666 / 5-05-2019 / Rs.180
xyz / 100001414 / 100012 / 5-21-2019 / Rs.750.00
Acc / 10210331f / 154666 / 5-05-2019 / Rs.180
Ожидаемый результат: первая пара соответствует всем столбцам, вторая пара соответствует всем столбцам, кроме суммы счета-фактуры, а третья пара соответствует только счету № и сумме счета.
Название поставщика / № поставщика / № счета / Дата выставления счета / Сумма счета
Cintas / 100001234 / 8001 / 5-17-2019 / Rs.450.00
Cintas / 100001234 / 8001 / 5-17-2019 / Rs.450.00
Cintas / 100001234 / 9001 / 6-17-2019 / Rs.220.00
Cintas / 100001234 / 9001 / 6-17-2019 / Rs.550.00
Abc / 100001122 / 154666 / 5-21-2019 / Rs.180
Acc / 10210331f / 154666 / 5-05-2019 / Rs.180
Пример 2: приведенный ниже пример, скорее всего, будет представлен как очень высокая вероятность дублирования.
Supplier Name / Supplier # / Invoice # / Invoice Date / Invoice Amount
Cintas / 100001234 / 8001 / 5-17-2019 / Rs.450.00
Cintas / 100001234 / 8001 / 5-17-2019 / Rs.450.00
Пример 3. Этот пример также будет выделен как потенциальный, но с меньшей вероятностью, поскольку в соответствии с критериями представлены только Поставщик, № счета-фактуры, Дата счета-фактуры.
Название поставщика / № поставщика / № счета / Дата выставления счета / Сумма счета
Cintas / 100001234 / 9001 / 6-17-2019 / Rs.220.00
Cintas / 100001234 / 9001 / 6-17-2019 / Rs.550.00
Они ранжируют потенциальный дубликат%, например, 90/75/50/25%, чем выше процент, тем больше вероятность, что инструмент считает его дубликатом.
Пожалуйста, предложите алгоритм или инструмент, чтобы найти дубликаты из примерно 10 000 000 записей и получить% совпадений согласно совпадениям столбцов.