Transformarea agregatorului este o transformare activă care este utilizată pentru a efectua calcule agregate cum ar fi suma, media etc.
De exemplu, dacă doriți să calculați suma salariilor pentru toți angajații din punct de vedere al departamentului, putem folosi Transformarea agregatorului.
Operațiunile agregate sunt efectuate pe un grup de rânduri, astfel încât este necesar un substituent temporar pentru a stoca toate aceste înregistrări și a efectua calculele.
Pentru aceasta, se utilizează memoria cache a agregatorului. Aceasta este o memorie principală temporară care este alocată transformării agregatorului pentru a efectua astfel de operații.
În acest exemplu, vom calcula suma salariilor în funcție de departament. Pentru aceasta, avem nevoie de o nouă coloană pentru a stoca această sumă. Deci, în primul rând, vom pregăti o nouă coloană.
Pasul 1 - Creați un nou tabel țintă de bază de date, de exemplu, spuneți "sum_sal_deptwise", utilizând scriptul de mai jos. Veți vedea că noul tabel țintă al bazei de date este creat în folderul Țintă la pasul următor.
Descărcați fișierul Create_table_sal_deptwise.txt de mai sus
Pasul 2 - Creați o nouă mapare „m_ sum_sal_deptwise”.
Pentru a crea o nouă mapare, avem nevoie de tabelul sursă (EMP) și tabelul țintă (sum_sal_deptwise) atât în proiectantul de mapare, cât și pentru care trebuie să
- Importați tabelul țintă „sum_sal_deptwise” în mapare.
- Importați tabelul sursă „emp”.
Pasul 3 - În mapare,
- Din calificatorul sursă, ștergeți coloanele empno, ename, job, mgr, hiredate & comm, lăsând doar coloanele deptno și sal.
- Creați o nouă transformare a agregatorului utilizând meniul casetei de instrumente, așa cum se arată în captura de ecran. Când faceți clic pe pictograma agregatorului, va fi creată o nouă transformare a agregatorului.
Pasul 4 - Glisați și fixați coloanele SAL & DEPTNO din calificatorul sursă (SQ_EMP) în transformarea agregatorului
Pasul 5 - Faceți dublu clic pe transformarea agregatorului pentru a-i deschide proprietățile, apoi
- Adăugați un port nou în transformare
- Redenumiți numele portului în SUM_SAL
- Schimbați tipul de date al acestui nou port la dublu
- Faceți acest port ca port de ieșire bifând caseta de selectare a portului de ieșire.
- Faceți clic pe opțiunea de expresie
Pasul 6 - În fereastra de expresie
- Adăugați expresie- sumă (SAL), trebuie să scrieți această expresie.
- Selectați butonul Ok, aceasta va readuce fereastra de transformare a editării.
Pasul 7 - În fereastra de editare a transformării, selectați opțiunea „GroupBy” bifând caseta de selectare împotriva coloanei deptno și faceți clic pe Ok (selectând grupa de la spre deptno, instruim Informatica să grupeze salariile în funcție de deptno)
Pasul 8 - Legați coloanele deptno și sum_sal de la transformarea agregatorului la tabelul țintă
Acum salvați maparea și executați-o după crearea unei noi sesiuni pentru această mapare. Tabelul țintă ar conține suma salariilor în funcție de departament. În acest fel, putem utiliza transformarea agregatorului pentru a calcula rezultatele agregate.