Hakumuunnos Informaticassa (esimerkki)
⚡ Älykäs yhteenveto
Informatican hakumuunnos lukee relaatiotaulukon, yksitasoisen tiedoston, näkymän tai synonyymin ja palauttaa vastaavat arvot kullekin saapuvalle riville toimien liitoksena, jossa toinen puoli on hakulähde.

Mikä on hakumuunnos?
Hakumuunnos on muunnos, jota käytetään lähteen, lähteen tarkenteen tai kohteen hakemiseen asiaankuuluvien tietojen saamiseksi. Pohjimmiltaan se on eräänlainen liitosoperaatio, jossa toinen liitettävistä taulukoista on lähdedata ja toinen liitettävä taulukko on hakutaulukko. Itse hakulähde voi olla relaatiotaulukko, näkymä, synonyymi tai yksittäinen tiedosto.
Muunnos on passiivinen, mutta se palauttaa yhden rivin jokaista saapuvaa riviä kohden. PowerCenter 9.x:stä eteenpäin se voidaan myös luoda palauttamaan kaikki ehtoa vastaavat rivit, ja tässä tilassa se on aktiivinen muunnos. Valinta tehdään muunnoksen luomisen yhteydessä, eikä sitä voida vaihtaa jälkeenpäin.
Kartalle voi sijoittaa kahdella tavalla.ping, ja erotus määrittää, miten palautettu arvo saavuttaa putken muun osan.
| Aspect | Yhdistetty haku | Yhdistämätön haku |
| Asema | Sijaitsee putken sisällä ja vastaanottaa arvoja edellisestä muunnoksesta | Sijaitsee putken ulkopuolella ja sitä kutsutaan lausekkeesta |
| Miten sitä kutsutaan | Rivit virtaavat sen tuloportteihin | Kutsutaan :LKP-viittaustarkenteella |
| Palautetut arvot | Useita lähtöportteja voidaan linkittää alavirtaan | Yksi paluuarvo palaa kutsuvaan lausekkeeseen |
| Tyypillinen käyttö | Jokainen rivi tarvitsee haetut sarakkeet | Hakua tarvitaan vain joillekin riveille tai samaa hakua kutsutaan useista eri paikoista |
Edellisissä aiheissa käytimme ns. Puusepän muunnos yhdistääksesi ”emp”- ja ”dept”-taulukot osastojen nimien tuomiseksi. Tässä osiossa toteutamme saman hakumuunnosta käyttäen.
Kuinka luoda hakumuunnos
Seuraavat vaiheet luovat hakumuunnoksen Informaticassa.
Vaihe 1) Luo uusi karttaping jossa lähteenä on EMP ja kohteena EMP_DEPTNAME. Karttaping Suunnittelupohja sisältää sitten lähteen, sen lähteen tarkenteen ja kohteen määritelmän.
Vaihe 2) Luo uusi muunnos Muunnos-valikon avulla ja tee sitten Luo muunnos -ikkunassa seuraava:
- Valitse muunnokseksi Haku-muunnos
- Anna muunnoksen nimi "lkp_dept"
- Valitse luomisvaihtoehto
Vaihe 3) Tämä avaa hakutaulukkoikkunan. Tässä ikkunassa:
- Valitse lähdepainike
- Valitse DEPT-taulukko
- Valitse OK-painike
Vaihe 4) Hakumuunnos luodaan DEPT-taulukon sarakkeilla. Valitse nyt Valmis-painike. Lkp_dept-objekti sisältää nyt DEPTNO:n, DNAME:n ja LOC:n hakuportteina.
Vaihe 5) Vedä ja pudota DEPTNO-sarake lähdemääritteestä hakumuunnokseen. Tämä luo uuden DEPTNO1-sarakkeen hakumuunnokseen. Linkitä sitten hakumuunnoksen DNAME-sarake kohdetaulukkoon.
Haku-muunnos hakee ja palauttaa osaston nimen OSASTON NUMERO1-arvon perusteella. OSASTON NUMERO1 on työntekijän osaston numeroa sisältävä syöttöportti, kun taas OSASTON NUMERO pysyy OSASTON hakutaulukosta luettuna porttina.
Vaihe 6) Double napsauta haku-muunnosta. Sitten muokkausmuunnosta-ikkunassa:
- Valitse ehto-välilehti
- Aseta ehtosarakkeeksi DEPTNO = DEPTNO1
- Valitse OK-painike
Vaihe 7) Linkitä loput sarakkeet lähdemääritteestä kohdetaulukkoon.
Tallenna nyt karttaping ja suorita se istunnon ja työnkulun luomisen jälkeen. Tämä karttaping hakee osastojen nimet hakumuunnoksen avulla.
Haku-muunnos on asetettu hakemaan DEPT-taulukosta ja liitosehto on asetettu osastonumeron perusteella. Jos useampi kuin yksi DEPT-rivi voi täyttää ehdon, Ominaisuudet-välilehden Hakukäytäntö useille osumille -ominaisuus määrittää palautettavan arvon.
Uudelleen käytettävä muunnos
Normaalimuunnos on karttaan kuuluva objektiping ja sitä voidaan käyttää kyseisen kartan sisälläping vain. Tekemällä muunnoksesta uudelleenkäytettävän, sitä voidaan kuitenkin käyttää uudelleen useiden karttojen sisälläpings.
Esimerkiksi Lookup-muunnosta, joka hakee työntekijän tiedot työntekijänumeron perusteella, voidaan käyttää useissa kartoissa.pings aina kun työntekijätietoja tarvitaan.
Käyttämällä uudelleenkäytettävää muunnosta, saman toiminnallisuuden luominen uudelleen vähentää ylityötä. Jokainen karttaping sisältää yhden tallennetun objektin instanssin, joten uudelleenkäytettävään muunnokseen tehty muutos koskee niitä kaikkia.
Kuinka luoda uudelleenkäytettävä muunnos
Seuraavat vaiheet luovat uudelleenkäytettävän muunnoksen.
Vaihe 1) Avaa karttaping joka on muutoksen läpikäyminen, tässä me teemme Sijoitusmuutos uudelleenkäytettäviä.
Vaihe 2) Double Napsauta muunnosta avataksesi muunnosten muokkausikkunan. Sitten:
- Valitse ikkunassa Transformation-välilehti
- Valitse valintaruutu, jos haluat tehdä muunnoksen uudelleenkäytettäväksi
- Valitse vahvistusikkunassa Kyllä
- Valitse muunnosominaisuuksien ikkunassa OK.
Tämä tekee muunnoksesta uudelleenkäytettävän. Kolmannen kohdan vahvistusikkuna kannattaa lukea ennen sen hyväksymistä: muunnoksen siirtäminen uudelleenkäytettäväksi on yksisuuntainen muutos Suunnittelijassa, eikä objektia voida alentaa jälkikäteen. Jos yksi karttaping tarvitsee oman kopionsa, vedä uudelleenkäytettävä objekti kankaalle pitäen samalla Ctrl-näppäintä painettuna luodaksesi sen sijaan ei-uudelleenkäytettävän instanssin.









