La trasformazione aggregatore è una trasformazione attiva utilizzata per eseguire calcoli aggregati come somma, media, ecc.
Ad esempio, se si desidera calcolare la somma degli stipendi di tutti i dipendenti in termini di reparto, è possibile utilizzare la trasformazione dell'aggregatore.
Le operazioni di aggregazione vengono eseguite su un gruppo di righe, quindi è necessario un segnaposto temporaneo per memorizzare tutti questi record ed eseguire i calcoli.
Per questo, viene utilizzata la memoria cache dell'aggregatore. Si tratta di una memoria principale temporanea allocata alla trasformazione dell'aggregatore per eseguire tali operazioni.
In questo esempio, calcoleremo la somma degli stipendi in base al dipartimento. Per questo, abbiamo bisogno di una nuova colonna per memorizzare questa somma. Quindi, prima di tutto, prepareremo una nuova colonna.
Passaggio 1 : creare una nuova tabella di destinazione del database, ad esempio, pronunciare "sum_sal_deptwise", utilizzando lo script seguente. Vedrai che la nuova tabella di destinazione del database viene creata nella cartella di destinazione nel passaggio successivo.
Scarica il file Create_table_sal_deptwise.txt sopra
Passaggio 2: creare una nuova mappatura "m_ sum_sal_deptwise".
Per creare una nuova mappatura, abbiamo bisogno della tabella di origine (EMP) e della tabella di destinazione (sum_sal_deptwise) entrambe nel progettista di mappe per questo dobbiamo
- Importa la tabella di destinazione "sum_sal_deptwise" nella mappatura.
- Importa la tabella di origine "emp".
Passaggio 3 : nella mappatura,
- Dal Source Qualifier, elimina le colonne empno, ename, job, mgr, hiredate & comm lasciando solo le colonne deptno e sal.
- Crea una nuova trasformazione aggregatore utilizzando il menu della casella degli strumenti come mostrato nella schermata. Quando fai clic sull'icona dell'aggregatore, verrà creata una nuova trasformazione dell'aggregatore.
Passaggio 4 : trascina e rilascia le colonne SAL e DEPTNO dal qualificatore di origine (SQ_EMP) alla trasformazione dell'aggregatore
Passaggio 5 : fare doppio clic sulla trasformazione dell'aggregatore per aprire le sue proprietà, quindi
- Aggiungi una nuova porta nella trasformazione
- Rinomina il nome della porta in SUM_SAL
- Modificare il tipo di dati di questa nuova porta in double
- Rendi questa porta come porta di output selezionando la casella di controllo della porta di output.
- Fare clic sull'opzione dell'espressione
Passaggio 6 : nella finestra dell'espressione
- Aggiungi espressione- somma (SAL), devi scrivere questa espressione.
- Seleziona il pulsante Ok, questo riporterà la finestra di modifica della trasformazione.
Passaggio 7 - Nella finestra di modifica della trasformazione, selezionare l'opzione "GroupBy" contrassegnando la casella di controllo accanto alla colonna deptno e fare clic su OK (selezionando group by contro deptno, stiamo istruendo Informatica a raggruppare gli stipendi per deptno)
Passaggio 8 : collegare le colonne deptno e sum_sal dalla trasformazione dell'aggregatore alla tabella di destinazione
Ora salva la mappatura ed eseguila dopo aver creato una nuova sessione per questa mappatura. La tabella degli obiettivi conterrebbe la somma degli stipendi in base al dipartimento. In questo modo, possiamo utilizzare la trasformazione dell'aggregatore per calcolare i risultati aggregati.