Aggregator transformasjon er en aktiv transformasjon som brukes til å utføre samlede beregninger som sum, gjennomsnitt, etc.
For eksempel, hvis du vil beregne lønnssummen til alle ansatte avdelingsvis, kan vi bruke Aggregator Transformation.
De samlede operasjonene utføres over en gruppe rader, så det kreves en midlertidig plassholder for å lagre alle disse postene og utføre beregningene.
Til dette brukes aggregatbufferminne. 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 klokt. 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 at den nye databasemåltabellen blir opprettet under målmappen i neste trinn.
Last ned filen Create_table_sal_deptwise.txt ovenfor
Trinn 2 - Opprett en ny kartlegging "m_ sum_sal_deptwise".
For å opprette ny kartlegging trenger vi kildetabell (EMP) og måltabell (sum_sal_deptwise) begge i kartleggingsdesigneren for at vi må
- Importer måltabellen "sum_sal_deptwise" i kartleggingen.
- Importer kildetabellen "emp".
Trinn 3 - I kartleggingen,
- Fra Source Qualifier sletter du kolonnene empno, ename, job, mgr, hire & comm, slik at bare kolonnene deptno og sal er igjen.
- Opprett en ny aggregatortransformasjon ved hjelp av verktøykassemenyen som vist på skjermbildet. Når du klikker på aggregatorikonet, opprettes en ny aggregatortransformasjon.
Trinn 4 - Dra og slipp SAL & DEPTNO-kolonner fra kildekvalifiseringen (SQ_EMP) til aggregatortransformasjonen
Trinn 5 - Dobbeltklikk på aggregatortransformasjonen for å åpne egenskapene, og deretter
- Legg til en ny port i transformasjonen
- Gi navnet på portnavnet til SUM_SAL
- Endre datatypen til denne nye porten til å doble
- Lag denne porten som utgangsport ved å merke av i avmerkingsboksen for utgangsporten.
- Klikk på uttrykksalternativet
Trinn 6 - I uttrykksvinduet
- Legg til uttrykkssum (SAL), du må skrive dette uttrykket.
- Velg Ok-knapp, dette vil bringe redigerings transformasjonsvinduet tilbake.
Trinn 7 - I rediger transformasjonsvinduet, velg alternativet "GroupBy" ved å merke av i avmerkingsboksen mot kolonnen avd. Og klikk Ok (ved å velge gruppe etter mot avdelingen, instruerer vi Informatica om å gruppere lønn etter avd.
Trinn 8 - Koble kolonnene deptno og sum_sal fra transformatoren til aggregatoren til måltabellen
Lagre nå kartleggingen og kjør den etter å ha opprettet en ny økt for denne kartleggingen. Måletabellen vil inneholde summen av lønnsavdelingen. På denne måten kan vi bruke aggregatortransformasjon for å beregne samlede resultater.