Aggregator transformation i Informatica med eksempel
Hvad er Aggregator Transformation?
Aggregatortransformation er en aktiv transformation, der bruges til at udføre aggregerede beregninger som sum, gennemsnit osv.
For eksempel, hvis du ønsker at beregne summen af lønninger for alle medarbejdere afdelingsmæssigt, kan vi bruge Aggregator Transformation.
De samlede operationer udføres over en gruppe rækker, så en midlertidig pladsholder er påkrævet for at gemme alle disse poster og udføre beregningerne.
Til dette bruges aggregator-cache-hukommelse. Dette er en midlertidig hovedhukommelse, som er allokeret til aggregatortransformationen for at udføre sådanne operationer.
I dette eksempel vil vi beregne summen af lønafdelingen. Til dette kræver vi en ny kolonne for at gemme denne sum. Så først og fremmest vil vi forberede en ny kolonne.
Trin 1) Opret en ny databasemåltabel, for eksempel sig "sum_sal_deptwise", ved hjælp af nedenstående script. Du vil se, at den nye databasemåltabel er oprettet under Target mappe i næste trin.
Download ovenstående Create_table_sal_deptwise.txt-fil
Trin 2) Opret en ny mapping "m_ sum_sal_deptwise".
For at oprette ny mapping har vi brug for kildetabel (EMP) og måltabel (sum_sal_deptwise) begge i kortlægningsdesigneren, for at vi skal
- Importer måltabellen "sum_sal_deptwise" i kortlægningen.
- Importer kildetabellen "emp".
Trin 3) I kortlægningen
- På hjemmesiden for oprettelse af en konto skal du indtaste postnummeret for dit service-eller faktureringsområde i feltet, der er markeret (A) på billedet ovenfor. Kildekvalifikation, slet kolonnerne empno, ename, job, mgr, hiredate & comm, så lad kun kolonnerne deptno og sal.
- Opret en ny aggregatortransformation ved hjælp af værktøjskassemenuen som vist på skærmbilledet. Når du klikker på aggregatorikonet, oprettes en ny aggregatortransformation.
Trin 4) Træk og slip SAL- og DEPTNO-kolonner fra kildekvalifikationen (SQ_EMP) til aggregatortransformationen
Trin 5) Double klik på aggregatortransformationen for at åbne dens egenskaber, og derefter
- Tilføj en ny port i transformationen
- Omdøb portnavnet til SUM_SAL
- Skift datatypen for denne nye port til det dobbelte
- Gør denne port som outputport ved at markere afkrydsningsfeltet for outputporten.
- Klik på udtryksindstillingen
Trin 6) I udtryksvinduet
- Tilføj udtryk-sum(SAL), du skal skrive dette udtryk.
- Vælg OK-knap, dette vil bringe redigeringstransformationsvinduet tilbage.
Trin 7) I rediger transformationsvinduet skal du vælge muligheden "GroupBy" ved at markere afkrydsningsfeltet mod deptno-kolonnen og klikke på Ok (ved at vælge gruppe efter mod deptno, instruerer vi Informatica til at gruppere lønninger efter deptno)
Trin 8) Link kolonnerne deptno og sum_sal fra aggregatortransformation til måltabellen
Gem nu kortlægning og udfør det efter oprettelse af en ny session til denne kortlægning. Måltabellen ville indeholde summen af lønafdelingen. På denne måde kan vi bruge aggregatortransformation til at beregne aggregerede resultater.