Aggregatortransformatie in Informatica met voorbeeld

Wat is aggregatortransformatie?

Aggregatortransformatie is een actieve transformatie die wordt gebruikt om aggregatieberekeningen uit te voeren, zoals som, gemiddelde, enz.

Als u bijvoorbeeld de som van de salarissen van alle medewerkers per afdeling wilt berekenen, kunt u de Aggregator-transformatie gebruiken.

De samengevoegde bewerkingen worden uitgevoerd op een groep rijen. Daarom is er een tijdelijke tijdelijke aanduiding nodig om al deze records op te slaan en de berekeningen uit te voeren.

Aggregatortransformatie in Informatica

Hiervoor wordt aggregatorcachegeheugen gebruikt. Dit is een tijdelijk hoofdgeheugen dat is toegewezen aan de aggregatortransformatie om dergelijke bewerkingen uit te voeren.

In dit voorbeeld berekenen we de som van salarissen per afdeling. Hiervoor hebben we een nieuwe kolom nodig om deze som op te slaan. Dus, allereerst bereiden we een nieuwe kolom voor.

Stap 1) Maak een nieuwe database-doeltabel, bijvoorbeeld, zeg "sum_sal_deptwise", met behulp van het onderstaande script. U zult zien dat de nieuwe database-doeltabel is gemaakt onder Target map in de volgende stap.

Download het bovenstaande bestand Create_table_sal_deptwise.txt

Stap 2) Maak een nieuwe mapping “m_sum_sal_deptwise”.

Om een ​​nieuwe mapping te maken, hebben we de brontabel (EMP) en de doeltabel (sum_sal_deptwise) nodig, beide in de mapping designer, daarvoor moeten we:

  1. Importeer de doeltabel “sum_sal_deptwise” in de toewijzing.
  2. Importeer de brontabel “emp”.

Aggregatortransformatie in Informatica

Stap 3) In de mapping is

  1. Van de Bronkwalificatie, verwijder de kolommen empno, ename, job, mgr, hireate & comm zodat alleen de kolommen deptno en sal overblijven.
  2. Maak een nieuwe aggregatortransformatie met behulp van het toolboxmenu zoals weergegeven in de schermafbeelding. Wanneer u op het aggregatorpictogram klikt, wordt een nieuwe aggregatortransformatie gemaakt.

Aggregatortransformatie in Informatica

Stap 4) SAL- en DEPTNO-kolommen slepen en neerzetten van bronkwalificatie (SQ_EMP) naar de aggregatortransformatie

Aggregatortransformatie in Informatica

Stap 5) Double klik op de aggregatortransformatie om de eigenschappen ervan te openen, en vervolgens

  1. Voeg een nieuwe poort toe aan de transformatie
  2. Hernoem de poortnaam naar SUM_SAL
  3. Wijzig het gegevenstype van deze nieuwe poort naar dubbel
  4. Maak deze poort tot uitvoerpoort door het selectievakje van de uitvoerpoort aan te vinken.
  5. Klik op de expressieoptie

Aggregatortransformatie in Informatica

Stap 6) In het expressievenster

  1. Voeg expression-sum(SAL) toe, je moet deze expressie schrijven.
  2. Selecteer de knop OK, hierdoor wordt het venster voor het bewerken van de transformatie teruggebracht.

Aggregatortransformatie in Informatica

Stap 7) Selecteer in het bewerkingstransformatievenster de optie 'GroupBy' door het selectievakje naast de kolom 'deptno' aan te vinken en klik op OK (door 'group by' naast de kolom 'deptno' te selecteren, geven we Informatica de opdracht om salarissen te groeperen op deptno).

Aggregatortransformatie in Informatica

Stap 8) Koppel de kolommen deptno en sum_sal van de aggregatortransformatie aan de doeltabel

Aggregatortransformatie in Informatica

Bewaar nu de in kaart brengen en voer het uit na het maken van een nieuwe sessie voor deze mapping. De doeltabel zou de som van salarissen per afdeling bevatten. Op deze manier kunnen we aggregatortransformatie gebruiken om geaggregeerde resultaten te berekenen.