Aggregatortransformation i Informatica med exempel

Vad är Aggregator Transformation?

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

Till exempel, om du vill beräkna summan av löner för alla anställda avdelningsmässigt, kan vi använda Aggregator Transformation.

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

Aggregatortransformation i Informatica

För detta används aggregatorcacheminne. Detta är ett temporärt huvudminne som allokeras till aggregatortransformationen för att utföra sådana operationer.

I det här exemplet kommer vi att beräkna summan av löneavdelningen. För detta krä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 databasmåltabell, säg till exempel "sum_sal_deptwise", med skriptet nedan. Du kommer att se den nya databasmåltabellen skapas under Target mapp 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 mappningsdesignern för att vi behöver

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

Aggregatortransformation i Informatica

Steg 3) I kartläggningen,

  1. Från Källkval, ta bort kolumnerna empno, ename, job, mgr, hiredate & comm så lämna bara kolumnerna deptno och sal.
  2. Skapa en ny aggregatortransformation med hjälp av verktygslådan enligt skärmdumpen. När du klickar på aggregatorikonen skapas en ny aggregatortransformation.

Aggregatortransformation i Informatica

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

Aggregatortransformation i Informatica

Steg 5) Double klicka på aggregatortransformationen 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 denna nya port till dubbel
  4. Gör denna port som utgångsport genom att markera kryssrutan för utgångsporten.
  5. Klicka på uttrycksalternativet

Aggregatortransformation i Informatica

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 att ta tillbaka fönstret för redigeringstransformation.

Aggregatortransformation i Informatica

Steg 7) I fönstret för redigering av transformation, välj alternativet "GroupBy" genom att markera kryssrutan mot kolumnen deptno och klicka på Ok (genom att välja grupp efter mot deptno, instruerar vi Informatica att gruppera löner efter deptno)

Aggregatortransformation i Informatica

Steg 8) Länka kolumnerna deptno och summa_sal från aggregatortransformation till måltabellen

Aggregatortransformation i Informatica

Spara nu kartläggning och kör det efter att ha skapat en ny session för denna mappning. Måltabellen skulle innehålla summan av löneavdelningen. På detta sätt kan vi använda aggregatortransformation för att beräkna aggregerade resultat.