Всъщност това е случай за Lookup. Изглежда, че искате да направите търсене по име и да върнете идентификатор. Доста просто. Ето как създадох пример за това:
- Плъзнете задача за поток от данни върху повърхността за проектиране. Щракнете двукратно върху него, за да превключите към него.
- Създаване на мениджър на връзки за моята база данни
- Плъзнете върху повърхността за проектиране:
- източник на OLE DB
- Трансформация за търсене
- Дестинация на OLE DB
- Свържете източника към търсенето към дестинацията. Това е „Изходът за търсене на съвпадение“, който искаме да отидем до дестинацията. Вижте фигура 1.
- Конфигурирайте източника. Моята изходна таблица просто имаше колони за идентификатор и име.
- Конфигурирайте търсенето
- Раздел Общи:Използвайте OLE DB връзка
- Раздел "Връзка":посочете същата връзка, но използвайте справочната таблица. Моята справочна таблица беше само идентификатор и име, но името беше направено уникално, така че има по-добър смисъл като справочна колона.
- В раздела с колони конфигурирайте име, което да се съпостави с име, с „id“ като изход. Конфигурирайте операцията за търсене да бъде „добавяне на нова колона“ и наименувайте тази колона „lookupId“. Вижте фигура 2.
- Игнорирайте другите два раздела
- Конфигурирайте изхода да приема и трите колони. Вижте фигура 3.
Това е всичко. За всеки ред от източника колоната с име ще се използва, за да съответства на колоната с име на справочната таблица. Всяко съвпадение ще добави своята колона с id като новата колона lookupId. И трите колони ще продължат към дестинацията.
Фигура 1:
Фигура 2:
Фигура 3: