Проверка служб SSIS исходных строк Excel перенаправляет строки в другую таблицу при совпадении поля «x»

Я работаю в сфере продаж, и наши данные состоят из «лидов».

Допустим, мы записываем CompanyName, PhoneNumber, Address1 и PostCode (ZIP). Эти строки заполнены уникальным идентификатором в схеме.

Лиды поступают из разных источников и компилируются в электронную таблицу, а затем импортируются в SQL 2012 с помощью SSIS.

После проверки существования файла мы используем простой поток данных, который состоит из источника Excel, производного столбца, преобразования данных и, наконец, назначения OLE DB.

Мое требование, я уверен, имеет относительно простое решение. Я понимаю, что мне нужно достичь, это первый шаг. Мне нужно взять образец данных за последние два месяца, если 2 или более полей в исходном файле excel соответствуют соответствующему полю в целевой таблице sql, тогда я хочу перенаправить в другую таблицу.

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

Может ли кто-нибудь дать несколько советов о том, как мне лучше всего добиться этого как можно проще.


person dotnetnewb    schedule 20.07.2015    source источник
comment
Есть один способ выполнить это задание. Просто проясню следующие вопросы: точно ли вы знаете, какие поля будут в источнике, и что означает выборка данных за последние скользящие два месяца? Спасибо   -  person Aleksandr Fedorenko    schedule 21.07.2015
comment
Да, название компании, номер телефона, адрес 1 и почтовый индекс (ZIP). Каждый день мы импортируем данные, поэтому я получаю все данные за последние два месяца в качестве критериев для проверки на наличие дубликатов в наборе данных. Достаточно сказать, что это бизнес-правило. Мне нужно проверить, соответствуют ли CompanyName & Phone или CompanyName & Address1 или CompanyName & PostCode (zip) целевой перекрестной проверке набора данных за последние два месяца. Затем они оцениваются как похожие или повторяющиеся. надеюсь это понятно   -  person dotnetnewb    schedule 21.07.2015
comment
Мне интересно, будет ли это соответствовать моему требованию, но я не уверен, как реализовать... codeproject.com/Articles/31030/   -  person dotnetnewb    schedule 21.07.2015


Ответы (1)


Вы можете использовать Lookup для проверки совпадений в существующей таблице. Однако будет довольно сложно реализовать требование проверки совпадения любых двух или более полей. Ваше выражение будет длинным и сложным, в основном состоящим из:

(используя псевдокод для удобочитаемости)

IIF((a=a И b=b) ИЛИ (a=a И c=c) ИЛИ (b=b И c=c) ИЛИ... и так далее для каждой комбинации двух столбцов, которые вы хотите проверить

Я бы сделал это, импортировав всю электронную таблицу в промежуточную таблицу и выполнив проверку существующих строк в хранимой процедуре SQL, которая перемещает данные в нужную таблицу назначения.

person Tab Alleman    schedule 21.07.2015
comment
Спасибо за ваш ответ. Образец не «из» моих данных за два месяца, образец «это» данные за два месяца, моя проблема несколько изменилась, поэтому теперь я собираюсь обновить свой вопрос. - person dotnetnewb; 22.07.2015