2015-10-12 5 views
1

Использование Excel 2010 и Microsoft «Нечеткий поиск» добавить для сравнения столбца из 2 листов. На первом листе насчитывается около 48 000 строк (x 3 столбца), второй лист содержит около 23 000 строк (x 5 столбцов). «Нечеткий поиск» сравнивает один столбец с каждым &, возвращая сходство между ними.«Fuzzy Lookup» Добавить в результаты

Нечеткий поиск работает без проблем, и результаты - в большинстве случаев - кажутся правильными. Например:

W2-NK22/16 на одном листе показывает, что имеет 0,97 сходство с W2NK2216.

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

761689700000 

должны иметь некоторую степень сходства с:

761689700000EN4239 

но Fuzzy Lookup добавить в возвратов 0,000 для него. Оба поля форматируются как текст. У них нет пробелов до или после них, и первые 12 символов идентичны.

Я удалил &, переустановил надстройку и использовал настройки по умолчанию. Единственные другие параметры Fuzzy Lookup, которые я изменил, были в Configure -> Global - UseApproximateIndexing. Я установил его как для False, так и для True, которые не повлияли.

У меня есть сотни примеров, подобных приведенному выше, показывающему сходство 0.000, но при осмотре кажется очень похожим. Строки перед & после них показывают различные степени подобия.

Любые мысли или идеи относительно того, почему это не работает должным образом, или лучший способ сделать это приблизительное соответствие.

+0

Интересно, считает ли он каждую запись одним токеном, а не каждой буквой. Измените '761689700000EN4239' на' 761689700000 EN4239' с пробелом и запустите его снова. Если он думает, что сейчас это матч, это проблема с токеном. Что приятно знать, но я не знаю, как это исправить. –

+0

@ DickKusleika - Я просто читал вашу (очень хорошую) статью об этом с января 2015 года - один из наиболее полезных из них. Я сделал, как вы предложили (chg ... 700000EN4239 to .... 700000 EN4239), и теперь он возвращает правильную запись с подобием 0,90. Если ничего другого, по крайней мере, я понимаю, почему одни и те же 12 символов в каждом из них не совпадают. Для меня не имеет большого значения, почему каждая запись является символическим символом, а не каждым символом, поскольку она определяет сходство. Я бы предположил, что накладные расходы будут огромными, чтобы заставить его работать по характеру. –

+0

Мне кажется хорошей идеей, чтобы символизировать символьный символ, если нет пробелов или других специальных символов. Со всеми параметрами, которые надстройка имеет, интересно, имеет ли он один, который заставит эту ситуацию. К сожалению, мы достигли пределов моих знаний об этом. Ни один из настроек, которые я видел, выглядел многообещающим. –

ответ

1

Пытается добавить контент, даже если этому случаю 2 года. Надеюсь, кто-то другой сможет его использовать.

Для трансформаций, токенизации и т. Д. - смотрите в ту же папку, где установлен Fuzzy Lookup. Существует пример файла, который называется Portfolio.xlsx и соответствующий файл Readme.docx. Это очень полезно. Честно говоря, документация над надстройкой Fuzzy Lookup ужасна (но она бесплатна). В файле Readme говорится о правах, называемых «EditTransformationProvider», которые могут помочь в решении этой проблемы.

Я реализовал Fuzzy на пару процессов на моей работе, и мы сохранили сотни человеко-часов при работе в Excel. Это не шутка.