Трансформация на търсене в Informatica (пример)
⚡ Умно обобщение
Трансформацията на търсене в Informatica чете релационна таблица, плосък файл, изглед или синоним и връща съответстващите стойности за всеки входящ ред, работейки като съединение, в което едната страна е източникът на търсене.
Какво представлява справочната трансформация?
Трансформацията за търсене е трансформация, използвана за търсене на източник, квалификатор на източника или цел, за да се получат съответните данни. По принцип това е вид операция за свързване, при която едната от свързващите таблици е източникът на данни, а другата свързваща таблица е таблицата за търсене. Самият източник на търсене може да бъде релационна таблица, изглед, синоним или плосък файл.
Трансформацията е пасивна, тъй като връща по един ред за всеки входящ ред. От PowerCenter 9.x нататък може да се създаде и такава, че да връща всеки ред, който отговаря на условието, и в този режим е активна трансформация. Изборът се прави при създаването на трансформацията и не може да се променя впоследствие.
Има два начина да го поставите на картатаping, а разликата определя как върнатата стойност достига до останалата част от конвейера.
| Аспект | Свързано търсене | Несвързано търсене |
| Позиция | Намира се вътре в конвейера и получава стойности от предишната трансформация | Намира се извън конвейера и се извиква от израз |
| Как се нарича | Редовете се вливат във входните му портове | Извиква се с квалификатора за препратка :LKP |
| Върнати стойности | Няколко изходни порта могат да бъдат свързани надолу по веригата | Една върната стойност се връща към извикващия израз |
| Типична употреба | Всеки ред се нуждае от търсените колони | Търсенето е необходимо само за някои редове или едно и също търсене се извиква от няколко места |
В предишни теми използвахме Дърводелска трансформация да се обединят таблиците „emp“ и „dept“, за да се получат имената на отделите. В този раздел ще имплементираме същото, използвайки трансформация Lookup.
Как да създадете справочна трансформация
Следват стъпките за създаване на трансформация на търсене в Informatica.
Стъпка 1) Създайте нова картаping с EMP като източник и EMP_DEPTNAME като цел. Картатаping След това дизайнерското платно съдържа източника, неговия квалификатор на източника и дефиницията на целта.
Стъпка 2) Създайте нова трансформация, като използвате менюто „Трансформация“, след което в прозореца „Създаване на трансформация“:
- Изберете трансформация за търсене като трансформация
- Въведете име на трансформация „lkp_dept“
- Изберете опция за създаване
Стъпка 3) Това ще отвори прозореца за справочна таблица. В този прозорец:
- Бутон за избор на източник
- Изберете таблица DEPT
- Изберете бутона OK
Стъпка 4) Ще бъде създадена трансформация за търсене с колоните на таблицата DEPT, сега изберете бутона „Готово“. Обектът lkp_dept вече носи DEPTNO, DNAME и LOC като портове за търсене.
Стъпка 5) Плъзнете и пуснете колоната DEPTNO от Source Qualifier към Lookup трансформацията. Това ще създаде нова колона DEPTNO1 в Lookup трансформацията. След това свържете колоната DNAME от Lookup трансформацията към целевата таблица.
Трансформацията Lookup ще потърси и ще върне името на отдела въз основа на стойността DEPTNO1. DEPTNO1 е входният порт, носещ номера на отдела на служителя, докато DEPTNO остава портът, прочетен от таблицата за търсене DEPT.
Стъпка 6) Double Кликнете върху трансформацията „Търсене“. След това в прозореца за редактиране на трансформацията:
- Изберете раздела състояние
- Задайте колоната с условия на DEPTNO = DEPTNO1
- Изберете бутона OK
Стъпка 7) Свържете останалите колони от изходния квалификатор към целевата таблица.
Сега запазете картаping и да го изпълните след създаване на сесията и работния процес. Тази картаping ще извлече имената на отделите, използвайки трансформация на търсене.
Трансформацията за търсене е настроена да търси в таблицата DEPT, а условието за присъединяване се задава въз основа на номера на отдела. Ако повече от един ред от DEPT може да удовлетвори условието, свойството „Политика за търсене при множествено съвпадение“ в раздела „Свойства“ определя коя стойност да се върне.
Трансформация за многократна употреба
Нормална трансформация е обект, който принадлежи на картаping и може да се използва вътре в тази картаping само. Въпреки това, като направите трансформацията многократно използваема, тя може да бъде използвана повторно в няколко картиpings.
Например, трансформация на търсене, която извлича данни за служителя въз основа на неговия номер, може да се използва в множество карти.pingкъдето се изискват данни за служителите.
Чрез използването на трансформация за многократна употреба се намалява прекомерната работа по създаването на същата функционалност отново. Всяка картаping съдържа екземпляр на единствения съхранен обект, така че промяната, направена в трансформацията за многократна употреба, достига до всички тях.
Как да създадете трансформация за многократна употреба
Следват стъпките за създаване на трансформация за многократна употреба.
Стъпка 1) Отворете картатаping което е претърпяване на трансформация, тук ние правим Трансформация на ранга за многократна употреба.
Стъпка 2) Double Кликнете върху трансформацията, за да отворите прозореца за редактиране на трансформацията. След това:
- Изберете раздела Трансформация в прозореца
- Поставете отметка в квадратчето, за да направите трансформацията повторно използваема
- Изберете да в прозореца за потвърждение
- Изберете OK в прозореца със свойства на трансформацията.
Това ще направи трансформацията многократно използваема. Прозорецът за потвърждение в третия елемент си струва да се прочете, преди да бъде приет: повишаването на трансформацията до многократно използваема е еднопосочна промяна в Designer и обектът не може да бъде понижен впоследствие. Където една картаping се нуждае от собствено копие, плъзнете обекта за многократна употреба върху платното, като държите натиснат клавиша Ctrl, за да създадете екземпляр за еднократна употреба.










