Aggregatortransformasjon i Informatica med eksempel
Hva er aggregatortransformasjon?
Aggregatortransformasjon er en aktiv transformasjon som brukes til å utføre aggregerte beregninger som sum, gjennomsnitt osv.
For eksempel, hvis du ønsker å beregne summen av lønn til alle ansatte avdelingsmessig, kan vi bruke Aggregator Transformasjonen.
De aggregerte operasjonene utføres over en gruppe rader, så det kreves en midlertidig plassholder for å lagre alle disse postene og utføre beregningene.
For dette brukes aggregator-cache-minne. Dette er et midlertidig hovedminne som er allokert til aggregatortransformasjonen for å utføre slike operasjoner.
I dette eksemplet vil vi beregne summen av lønnsavdelingen. For dette krever vi en ny kolonne for å lagre denne summen. Så først og fremst vil vi forberede en ny kolonne.
Trinn 1) Opprett en ny databasemåltabell, for eksempel si "sum_sal_deptwise", ved å bruke skriptet nedenfor. Du vil se den nye databasemåltabellen er opprettet under Target mappe i neste trinn.
Last ned filen Create_table_sal_deptwise.txt ovenfor
Trinn 2) Opprett en ny tilordning "m_ sum_sal_deptwise".
For å lage ny kartlegging trenger vi kildetabell (EMP) og måltabell (sum_sal_deptwise) begge i kartleggingsdesigner for at vi må
- Importer måltabellen "sum_sal_deptwise" i kartleggingen.
- Importer kildetabellen "emp".
Trinn 3) I kartleggingen,
- Fra Kildekvalifisering, slett kolonnene empno, ename, job, mgr, hiredate & comm, så la bare kolonnene deptno og sal.
- Lag en ny aggregatortransformasjon ved å bruke verktøykassemenyen som vist på skjermbildet. Når du klikker på aggregatorikonet, opprettes en ny aggregatortransformasjon.
Trinn 4) Dra og slipp SAL- og DEPTNO-kolonner fra kildekvalifikatoren (SQ_EMP) til aggregatortransformasjonen
Trinn 5) Double klikk på aggregatortransformasjonen for å åpne egenskapene, og deretter
- Legg til en ny port i transformasjonen
- Gi nytt navn til portnavnet til SUM_SAL
- Endre datatypen for denne nye porten til dobbel
- Gjør denne porten som utgangsport ved å merke av for utgangsporten.
- Klikk på uttrykksalternativet
Trinn 6) I uttrykksvinduet
- Legg til expression-sum(SAL), du må skrive dette uttrykket.
- Velg Ok-knappen, dette vil bringe tilbake redigeringstransformasjonsvinduet.
Trinn 7) I rediger transformasjonsvinduet, velg alternativet "GroupBy" ved å merke av i avmerkingsboksen mot deptno-kolonnen og klikk OK (ved å velge gruppe etter mot deptno, instruerer vi Informatica å gruppere lønn etter deptno)
Trinn 8) Koble deptno- og sum_sal-kolonnene fra aggregatortransformasjon til måltabellen
Lagre nå kartlegging og utfør den etter å ha opprettet en ny økt for denne tilordningen. Måltabellen vil inneholde summen av lønnsavdelingen. På denne måten kan vi bruke aggregatortransformasjon til å beregne aggregerte resultater.