Normalisaattorin muunnos Informaticassa ESIMERKIN avulla
⚡ Älykäs yhteenveto
Informatican normalisointimuunnos on aktiivinen muunnos, joka muuntaa yhden toistuvia sarakkeita sisältävän rivin useiksi riveiksi ja luo myös avainsarakkeet, jotka tunnistavat jokaisen sen tuottaman esiintymän.

Mikä on normalisointimuunnos?
Normalisoija on aktiivinen muunnos, jota käytetään yhden rivin muuntamiseen useiksi riveiksi ja päinvastoin. Se on älykäs tapa esittää dataasi järjestelmällisemmin.
Jos yhdellä rivillä on toistuvaa dataa useissa sarakkeissa, se voidaan jakaa useille riveille. Joskus dataa on useissa toistuvissa sarakkeissa. Esimerkiksi:
| Opiskelijan nimi | Luokan 9 pisteet | Luokan 10 pisteet | Luokan 11 pisteet | Luokan 12 pisteet |
| Opiskelija 1 | 50 | 60 | 65 | 80 |
| Opiskelija 2 | 70 | 64 | 83 | 77 |
Tässä tapauksessa luokan pistemääräsarake toistuu neljässä sarakkeessa. Normalisoijan avulla voimme jakaa nämä seuraavaan tietojoukkoon.
| Opiskelijan nimi | luokka | Pisteet |
| Opiskelija 1 | 9 | 50 |
| Opiskelija 1 | 10 | 60 |
| Opiskelija 1 | 11 | 65 |
| Opiskelija 1 | 12 | 80 |
| Opiskelija 2 | 9 | 70 |
| Opiskelija 2 | 10 | 64 |
| Opiskelija 2 | 11 | 83 |
| Opiskelija 2 | 12 | 77 |
Kahdesta viiden sarakkeen rivistä on tullut kahdeksan kolmen sarakkeen riviä. Koska muunnoksesta lähtevien rivien määrä eroaa siihen tulevien rivien määrästä, normalisoija on aktiivinen muunnos, ja sama sääntö pätee seuraavassa osiossa rakennettuun myyntiesimerkkiin.
Normalisoijamuunnoksen käyttö Informaticassa
Seuraavat kuusi vaihetta rakentavat kartanping joka lukee neljännesvuosittaisten myymälämyyntien tiedoston ja kirjoittaa yhden kohderivin neljännestä kohden.
Vaihe 1) Luo lähdetaulukko "sales_source" ja kohdetaulukko "sales_target" käyttämällä komentosarjaa ja tuo ne sisään tietokone.
Lataa yllä oleva Sales_Source.txt-tiedosto
Vaihe 2) Luo karttaping jonka lähde on ”sales_source” ja kohdetaulukko on ”sales_target”. Karttaping Suunnittelualustaan tallennetaan sitten lähdemääritelmä, sen Lähteen tarkentaja ja kohteen määritelmä.
Vaihe 3) Luo uusi muunnos Muunnos-valikosta. Luo muunnos -ikkunassa:
- Valitse muunnokseksi normalisoija
- Kirjoita nimi, "nrm_sales"
- Valitse luomisvaihtoehto
Ikkuna näyttää alla olevan kuvakaappauksen kaltaiselta, jossa muunnostyyppiluettelo on vasemmalla ja nimiruutu sen alla.
Vaihe 4) Transformaatio luodaan, valitse valmis-vaihtoehto. Tyhjä nrm_sales-transformaatio sijaitsee nyt kankaalla lähdemääritteen ja kohteen välissä.
Vaihe 5) Double napsauta Normalisoija-muunnosta ja sitten:
- Valitse Normalisoija-välilehti
- Napsauta kuvaketta luodaksesi kaksi saraketta
- Anna sarakkeiden nimet
- Aseta tapahtumien lukumääräksi 4 myyntiä varten ja 0 myymälän nimeksi
- Valitse OK-painike
Esiintyy-arvo on tämän välilehden tärkein yksittäinen merkintä: se kertoo suunnittelijalle, kuinka monta kertaa sarake toistuu yhdellä lähderivillä. Kaupan nimi esiintyy kerran riviä kohden, joten sen Esiintyy-arvo pysyy arvossa 0.
Muunnoksessa luodaan sarakkeita. Näet myyntisarakkeiden lukumäärän neljä, koska asetamme esiintymien lukumääräksi neljä. Niiden rinnalle suunnittelija lisää seuraavassa osiossa kuvatut luodut avaimen ja saraketunnusten portit.
Vaihe 6) Sitten sitten karttaping:
- Yhdistä neljän neljänneksen lähdetunnistimen neljä saraketta normalisointisarakkeisiin.
- Linkitä kaupan nimisarake normalisointisarakkeeseen
- Linkitä kaupan_nimi- ja myyntisarakkeet normalisoijasta kohdetaulukkoon
- Linkitä GK_sales -sarake normalisoijasta kohdetaulukkoon
Kun jokainen linkki on piirretty, valmis karttaping näyttää tältä.
Tallenna karttaping ja suorita se luomisen jälkeen Istunto ja työnkulku. Kaupan jokaiselle neljännesmyynnille luodaan erillinen rivi normalisointimuunnolla.
Karttamme tuotosping tulee olemaan kuin –
| Myymälän nimi | Neljännes | Myynti |
| DELHI | 1 | 150 |
| DELHI | 2 | 240 |
| DELHI | 3 | 455 |
| DELHI | 4 | 100 |
| MUMBAI | 1 | 100 |
| MUMBAI | 2 | 500 |
| MUMBAI | 3 | 350 |
| MUMBAI | 4 | 340 |
Lähdetiedoissa oli toistuvia sarakkeita, nimittäin QUARTER1, QUARTER2, QUARTER3 ja QUARTER4. Normalisoijan avulla olemme järjestelleet tiedot uudelleen sopimaan yhteen QUARTER-sarakkeeseen ja yhdelle lähdetietueelle luodaan neljä tietuetta kohteeseen.
Tällä tavalla voit normalisoida tiedot ja luoda useita tietueita yhdelle tietolähteelle.
Normalisoijan muunnosportit ja ominaisuudet
Sarakkeita ei koskaan kirjoiteta Portit-välilehdelle. Ne määritellään Normalisoija-välilehdellä, ja Suunnittelija luo sitten vastaavat portit automaattisesti. Alla oleva taulukko selittää, mitä kukin merkintä ja kukin luotu portti tekee.
| Portti tai ominaisuus | Mitä se tekee |
| tapahtuu | Sarakkeen esiintymien lukumäärä yhdellä lähderivillä. Arvo 0 merkitsee yksittäistä saraketta, kuten myymälän nimeä. |
| Taso | Ryhmittelee sarakkeet tietuehierarkiaan. Sitä käytetään COBOL-lähteissä ja se pysyy arvossa 0 tasaisessa rakenteessa. |
| Tuloportit | Putken normaalisoija luo yhden tuloportin esiintymää kohden, joten Occurs-arvo 4 tuottaa neljä tuloporttia. |
| Lähtöportti | Useita kertoja esiintyvällä sarakkeella on yksi tulostusportti, joka palauttaa yhden rivin esiintymää kohden. |
| GK_ | Luotu avain. Integrointipalvelu kasvattaa tätä järjestysnumeroa aina, kun se käsittelee lähderiviä. |
| GCID_ | Luotu saraketunnus. Se on esiintymän indeksi, joten neljä kertaa esiintyvä sarake palauttaa arvon 1, 2, 3 tai 4. |
Kahden luodun portin välinen ero on syytä muistaa, koska molemmat näyttävät laskureilta. GCID käynnistyy uudelleen luvusta 1 jokaisella lähderivillä, kun taas GK jatkaa nousuaan koko istunnon ajan. Myyntikartallaping, GK_sales on kohteeseen linkitetty portti, joten jokaisella kahdeksasta tulosterivistä on oma avain.
Ominaisuudet-välilehden kaksi asetusta hallitsevat avaimen toimintaa suoritusten välillä. asettaa uudelleen palauttaa istunnon lopussa luodun avaimen arvon siihen arvoon, jossa se oli ennen istunnon alkua. Käynnistä uudelleen aloittaa luodun avainsarjan luvusta 1 joka kerta, kun istunto suoritetaan, ohittaen Portit-välilehdellä näkyvän järjestysarvon. Täydelliset ominaisuusmääritelmät julkaistaan PowerCenterin muutosopas.
VSAM-normalisoija vs. putkilinjan normalisoija
PowerCenter toimittaa kaksi versiota samasta muunnoksesta, ja yllä olevassa esimerkissä käytetään jälkimmäistä. Valinta niiden välillä on kokonaan lähdekoodin tekijänoikeus.
| Aspect | VSAM-normalisoija | Putkilinjan normalisoija |
| Rooli kartallaping | Toimii COBOL-lähdemääritelmän lähdemäärittelijänä | Sijaitsee missä tahansa putkilinjassa, normaalin lähdemääritteen alapuolella |
| Miten se luodaan | Luodaan automaattisesti, kun COBOL-lähdekoodi vedetään karttaan.ping | Luotu Muunnos-valikosta, kuten yllä vaiheessa 3 |
| Toistuvan sarakkeen syöttöportit | Yksi tuloportti koko useita kertoja esiintyvälle sarakkeelle | Yksi tuloportti sarakkeen kutakin esiintymää kohden |
| Sarakkeiden muokkaaminen | Vaihda COBOL-lähdekoodi ja luo muunnos uudelleen | Muokkaa Normalisoija-välilehden sarakkeita milloin tahansa |
| Tyypillistä dataa | OCCURS- ja REDEFINES-lausekkeita käyttävät keskustietokoneiden tiedostot | Toistuvat sarakkeet relaatiotaulukoissa ja yksitasotiedostoissa |
COBOL-tiedosto voi sisältää useita tietuetyyppejä samassa fyysisessä tiedostossa, minkä vuoksi VSAM-versio lukee sarakeluettelon sijaan käsikirjoituksen. Jokapäiväiseen käyttöön ETL Jos haluat työskennellä tietokantojen ja eroteltujen tiedostojen kanssa, pipeline Normalizer on oikea valinta.
Yleisiä normalisoijan muunnosvirheitä ja niiden korjaaminen
Useimmat normalisoijan ongelmat tracpalataan kahteen tai kolmeen asetukseen. Alla oleva luettelo kattaa ne, jotka nousevat useimmiten esiin kehityksen aikana.
- Porttiluettelo ei vastaa lähdettä. Liian harvat tai liian monet syöttöportit tarkoittavat lähes aina, että Occurs-arvo on väärä. Avaa Normalisoija-välilehti uudelleen ja aseta Occurs-arvoksi toistuvien sarakkeiden tarkka määrä ja linkitä sitten kartta uudelleen.ping, koska muuttaminen Tapahtuu rakentaa portit uudelleen.
- Esiintyy yhdessä esiintyvässä sarakkeessa. Jos kaupan nimelle annetaan Occurs-arvoksi suurempi kuin 0, rivit, joiden ei koskaan ollut tarkoitus toistua, kertovat toistuvien rivien määrän. Yksittäin esiintyvät sarakkeet pysyvät arvossa 0.
- Päivämääräsarakkeita ei voi määrittää. Normalisoija-välilehti hyväksyy vain merkkijono-, Nstring- ja numerosarakkeet, joten päivämäärä on kuljetettava merkkijonona ja muunnettava lauseke-muunnoksessa ennen kuin se saavuttaa kohteen.
- Rivien määrät näyttävät vääriltä istuntolokissa. Kahden lähderivin lukeminen ja kahdeksan kohderivin kirjoittaminen on oikea toimintatapa, kun Occurs-arvo on 4, eikä se ole vika. Normalisoija on aktiivinen juuri siksi, että nämä määrät eroavat toisistaan.
- Luodut avaimet toistuvat tai hyppäävät suoritusten välillä. Tämä on Ominaisuudet-välilehden Palauta- ja Käynnistä uudelleen -pari. Käynnistä uudelleen pakottaa sekvenssin takaisin arvoon 1 jokaisella istunnolla, mikä on harvoin toivottavaa, kun avain päätyy varastotaulukkoon.
- Portit-välilehden muokkaukset eivät tallennu. Portit luodaan, niitä ei muokata. Jokainen sarakkeen muutos kuuluu Normalisoija-välilehdelle, ja VSAM-normalisoijassa muutos kuuluu itse COBOL-lähteeseen.
Kun useita toistuvia ryhmiä on jaettava kerralla, on yleensä puhtaampaa käyttää yhtä normalisoijaa ryhmää kohden ja yhdistää tulokset alavirtaan kuin ylikuormittaa yksittäinen muunnos. Kun vaatimus toimii toisinpäin, jolloin useita rivejä kutistetaan yhdeksi, Aggregaattorin muutos on sen sijaan oikea työkalu.






