Методы поиска повторных транзакций между клиентами с ошибками или другими изменениями в информации? - PullRequest
1 голос
/ 30 ноября 2011

Это не специфический вопрос для SQL Server;но здесь могут быть специфичные для tSQL опции.

У меня есть куча деталей клиента;многие из них отменяют и уходят на службу.Они получают совершенно новый аккаунт;и наш анализ данных в лучшем случае поверхностен;поэтому они часто неправильно набирают адреса электронной почты или другие данные.

Вопрос состоит из двух частей:

Первая;У меня есть информация, такая как имя и фамилия, адрес электронной почты, последние 4 номера кредитной карты, почтовый индекс, номер телефона.Существует ли алгоритм / процесс, с помощью которого я могу посмотреть на свой набор данных и найти общие пулы повторений, чтобы я мог определить некоторые ручные характеристики данных, которые, как правило, являются «полученными» элементами для постоянных клиентов - то есть 80% времениэлектронные письма были «похожими» и почтовый индекс был таким же, это был постоянный клиент (основываясь на моих человеческих навыках сопоставления)?

Второй;Как я могу выразить сходство между наборами данных - т.е. иметь элемент, называемый соответствием, если совпадают 3 из 5 полей?Какой-то индекс подобия между всеми разными точками данных?Я знаю, что могу в некоторой степени использовать soundex в именах ... не очень уверен в адресах электронной почты.

Итак, я заинтересован как в быстрых, так и в грязных решениях (сегодня вечером я собираюсь провести анализ;но мне также очень интересны «правильные» способы решения этой проблемы.) Оба ответа заслужат мою любовь и уважение.=)

Ответы [ 2 ]

3 голосов
/ 30 ноября 2011

Не T-SQL, но SSIS имеет некоторые ответы: Преобразование нечеткого поиска , Преобразование нечеткой группировки .В этой статье MSDN показано, как ее использовать: Нечеткий поиск и группировки обеспечивают мощные возможности очистки данных , а также видео по теме: MSDN TV: приложения для очистки данных с помощью служб интеграции SQL Server .

Также существуют решения сторонних производителей, например Data Cleanser от Red-Gate.Тем не менее, они используют SSIS, так как это гораздо более подходящий инструмент для работы.

Вы также должны прочитать о Расстояние Левенштейна , уже есть много общедоступных готовых T-SQLреализации, а также CLR, используемые в SQL Server.Просто Google для них .

0 голосов
/ 30 ноября 2011

Я бы также рекомендовал взглянуть на алгоритм нечеткого сопоставления Jaro-Winkler для запросов, и его реализацию CLR можно найти здесь

Это похоже на работудовольно хорошо с меньшими объемами соответствия текстовой строки

...