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.

  • 🔁 Rivit pois sarakkeista: Neljästä neljännesvuosittaisen myynnin sarakkeesta yhdellä lähderivillä tulee neljä kohderiviä, yksi jokaista neljännestä kohden.
  • 🔢 Tapahtuu ajaa kaikkea: Normalisoija-välilehden Occurs-arvo määrittää, kuinka monta tuloporttia ja kuinka monta lähtöriviä luodaan.
  • 🧪 Toimiva esimerkki: Kuusi karttaaping Suunnitteluvaiheet siirtävät sales_source-flat-tiedoston sales_target-taulukkoon nrm_sales-transformaation avulla.
  • 🔑 Luodut portit: GK_ palauttaa kasvavan avaimen jokaiselle lähderiville, kun taas GCID_ palauttaa esiintymisindeksin välillä 1–N.
  • 🗂️ Kaksi makua: VSAM-normalisoija lukee COBOL-lähteitä, kun taas liukuhihnan normalisoija käsittelee relaatio- ja yksitasoisia tiedostoja.
  • ⚠️ Yleinen ansa: Asetus Toimenpiteet-kohdan asettaminen yksittäiselle sarakkeelle tai sen jättäminen nollaksi toistuvalle sarakkeelle rikkoo porttiluettelon.

Normalisaattorin muunnos Informaticassa

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ä.

karttaping Suunnittelupohja, jossa on sales_source-määritelmä, sen lähdetarkenne ja sales_target-taulukko

Vaihe 3) Luo uusi muunnos Muunnos-valikosta. Luo muunnos -ikkunassa:

  1. Valitse muunnokseksi normalisoija
  2. Kirjoita nimi, "nrm_sales"
  3. Valitse luomisvaihtoehto

Ikkuna näyttää alla olevan kuvakaappauksen kaltaiselta, jossa muunnostyyppiluettelo on vasemmalla ja nimiruutu sen alla.

Luo muunnosikkuna, jossa on valittuna normalisoija ja annettu nimi nrm_sales

Vaihe 4) Transformaatio luodaan, valitse valmis-vaihtoehto. Tyhjä nrm_sales-transformaatio sijaitsee nyt kankaalla lähdemääritteen ja kohteen välissä.

karttaping kanvas, joka näyttää juuri luodun nrm_sales Normalizer -transformaation ilman vielä sarakkeita

Vaihe 5) Double napsauta Normalisoija-muunnosta ja sitten:

  1. Valitse Normalisoija-välilehti
  2. Napsauta kuvaketta luodaksesi kaksi saraketta
  3. Anna sarakkeiden nimet
  4. Aseta tapahtumien lukumääräksi 4 myyntiä varten ja 0 myymälän nimeksi
  5. 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.

Muokkaa muunnoksia -ikkunan Normalisoija-välilehti, jossa myyntisarake on asetettu neljään esiintymään ja myymälän nimi on asetettu nollaksi

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.

nrm_sales-tiedoston luotu porttiluettelo, joka näyttää neljä myyntituloporttia sekä GK- ja GCID-portit

Vaihe 6) Sitten sitten karttaping:

  1. Yhdistä neljän neljänneksen lähdetunnistimen neljä saraketta normalisointisarakkeisiin.
  2. Linkitä kaupan nimisarake normalisointisarakkeeseen
  3. Linkitä kaupan_nimi- ja myyntisarakkeet normalisoijasta kohdetaulukkoon
  4. Linkitä GK_sales -sarake normalisoijasta kohdetaulukkoon

Kun jokainen linkki on piirretty, valmis karttaping näyttää tältä.

Valmis karttaping neljän vuosineljänneksen portit ja myymälän nimi linkitettynä nrm_sales-kohteeseen ja myymälän nimi, myynti- ja GK_sales-portit linkitettynä sales_target-kohteeseen

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.

UKK

Ei. Muunnos jakaa vain yhden rivin useaksi riviksi. Useiden rivien tiivistäminen yhdeksi tehdään Aggregatorilla tai lausekkeella, joka kääntää arvoja muuttujaporttien avulla, riippuen siitä, miten tulostesarakkeet on muotoiltu.

Vain merkkijono, Nstring ja numero. Normalisoija-välilehdellä ei ole Päivämäärä ja kellonaika -vaihtoehtoa, joten päivämääräarvojen on kuljettava muunnoksen läpi merkkijonoina ja ne on muunnettava lausekemuunnoksessa sen jommallakummalla puolella.

Kyllä. Pilvidatan integrointikarttaping suunnittelija tarjoaa samaan tarkoitukseen normalisointimuunnoksen, joka konfiguroidaan kenttäkohtaisen esiintymisarvon avulla. Välilehtien asettelu eroaa PowerCenteristä, joten karttapings rakennetaan uudelleen kopioinnin sijaan.

Unioni-funktio yhdistää useista eri prosesseista saapuvat rivit yhdeksi striimaksi jaetulla porttiluettelolla. Normalisoija toimii yhdellä prosesseilla ja kertoo rivit toistuvista sarakkeista jokaisen saapuvan tietueen sisällä.

Putken normaalisoija voidaan rakentaa Transformation Developerissa tai sitä voidaan mainostaa kartalta.pingja sitten jaettu. VSAM-normalisoijaa ei voida, koska se on sidottu sen luoneeseen COBOL-lähdemääritelmään.

Itse muunnos on edullinen, koska siinä ei ole välimuistia. Kustannukset näkyvät myöhemmissä muunnoksissa: Occurs-arvo neljä nelinkertaistaa rivimäärän jokaisessa myöhemmässä muunnoksessa, ja kohdekirjoittajan on käsiteltävä se.

Profilointimallit skannaavat lähdesarakkeita ja merkitsevät toistuvia ryhmiä, kuten NELJÄNNES1–NELJÄNNES4, jotka kuuluvat riveille sarakkeiden sijaan. Ehdotus on lähtökohta – esiintyvät arvot ja avainten käsittely vaativat edelleen kehittäjän vahvistuksen.

Se auttaa kartalla liikkumisessaping sen sijaan, että se olisi sen sisällä – kirjoittamalla SQL-koodin, joka purkaa taulukon pivotin vertailua varten, luomalla testidataa tai luonnostelemalla parametritiedostoja. Copilot ei voi muokata itse Designer-pohjaa.

Tiivistä tämä viesti seuraavasti: