Aggregator Transformation i Informatica med exempel

Anonim
Vad är Aggregator Transformation?

Aggregatortransformation är en aktiv omvandling som används för att utföra aggregerade beräkningar som summa, genomsnitt etc.

Om du till exempel vill beräkna lönesumman för alla anställda avdelningsvis kan vi använda Aggregator Transformation.

De samlade operationerna utförs över en grupp av rader, så en tillfällig platshållare krävs för att lagra alla dessa poster och utföra beräkningarna.

För detta används aggregatcacheminne. Detta är ett tillfälligt huvudminne som tilldelas aggregattransformationen för att utföra sådana operationer.

I det här exemplet beräknar vi summan av löneavdelningen. För detta behöver vi en ny kolumn för att lagra denna summa. Så först och främst kommer vi att förbereda en ny kolumn.

Steg 1 - Skapa en ny databas-måltabell, till exempel säg "sum_sal_deptwise" med hjälp av nedanstående skript. Du kommer att se att den nya databasens måltabell skapas under målmappen i nästa steg.

Ladda ner filen Create_table_sal_deptwise.txt ovan

Steg 2 - Skapa en ny mappning "m_ sum_sal_deptwise".

För att skapa ny mappning behöver vi källtabell (EMP) och måltabell (sum_sal_deptwise) båda i mappdesignern för att vi behöver

  1. Importera måltabellen "sum_sal_deptwise" i kartläggningen.
  2. Importera källtabellen "emp".

Steg 3 - I kartläggningen,

  1. Från Source Qualifier tar du bort kolumnerna empno, ename, job, mgr, hirde & comm så att endast kolumnerna deptno och sal lämnas.
  2. Skapa en ny aggregatoromvandling med verktygslådans meny som visas i skärmdumpen. När du klickar på aggregeringsikonen skapas en ny aggregeringstransformation.

Steg 4 - Dra och släpp SAL & DEPTNO-kolumner från källkvalificering (SQ_EMP) till aggregatortransformationen

Steg 5 - Dubbelklicka på aggregatoromvandlingen för att öppna dess egenskaper och sedan

  1. Lägg till en ny port i transformationen
  2. Byt namn på portnamnet till SUM_SAL
  3. Ändra datatypen för den här nya porten till dubbel
  4. Gör den här porten som utgångsport genom att markera kryssrutan för utgångsporten.
  5. Klicka på uttrycksalternativet

Steg 6 - I uttrycksfönstret

  1. Lägg till expression-sum (SAL), du måste skriva detta uttryck.
  2. Välj Ok-knappen, detta kommer tillbaka redigeringsomvandlingsfönstret.

Steg 7 - I redigeringsomvandlingsfönstret väljer du alternativet "GroupBy" genom att markera kryssrutan mot kolumnen avdelning och klicka på Ok (genom att välja grupp efter mot avdelningen, instruerar vi Informatica att gruppera löner efter avdelning)

Steg 8 - Länka kolumnerna deptno och sum_sal från transformation av aggregat till måltabellen

Spara nu kartläggningen och kör den efter att du har skapat en ny session för den här kartläggningen. Måltabellen innehåller summan av löneavdelningen. På detta sätt kan vi använda aggregatoromvandling för att beräkna aggregerade resultat.