Transformacja agregatora to aktywna transformacja używana do wykonywania obliczeń zagregowanych, takich jak suma, średnia itp.
Na przykład, jeśli chcesz obliczyć sumę wynagrodzeń wszystkich pracowników działu mądrze, możemy skorzystać z Transformacji Agregatora.
Zagregowane operacje są wykonywane na grupie wierszy, więc do przechowywania wszystkich tych rekordów i wykonywania obliczeń wymagany jest tymczasowy symbol zastępczy.
W tym celu używana jest pamięć podręczna agregatora. Jest to tymczasowa pamięć główna, która jest przydzielana do transformacji agregatora w celu wykonywania takich operacji.
W tym przykładzie obliczymy sumę wynagrodzeń według działu. W tym celu potrzebujemy nowej kolumny do przechowywania tej sumy. Przede wszystkim przygotujemy nową kolumnę.
Krok 1 - Utwórz nową docelową tabelę bazy danych, na przykład powiedz „sum_sal_deptwise”, używając poniższego skryptu. Zobaczysz, że nowa tabela docelowa bazy danych została utworzona w folderze docelowym w następnym kroku.
Pobierz powyższy plik Create_table_sal_deptwise.txt
Krok 2 - Utwórz nowe mapowanie „m_ sum_sal_deptwise”.
Aby stworzyć nowe mapowanie, potrzebujemy tabeli źródłowej (EMP) i tabeli docelowej (sum_sal_deptwise), zarówno w projektancie mapowania, do tego potrzebujemy
- Zaimportuj tabelę docelową „sum_sal_deptwise” do mapowania.
- Zaimportuj tabelę źródłową „emp”.
Krok 3 - W mapowaniu,
- Z kwalifikatora źródła usuń kolumny empno, ename, job, mgr, hiredate i comm, pozostawiając tylko kolumny deptno i sal.
- Utwórz nową transformację agregatora za pomocą menu przybornika, jak pokazano na zrzucie ekranu. Po kliknięciu ikony agregatora zostanie utworzona nowa transformacja agregatora.
Krok 4 - Przeciągnij i upuść kolumny SAL i DEPTNO z kwalifikatora źródła (SQ_EMP) do transformacji agregatora
Krok 5 - Kliknij dwukrotnie transformację agregatora, aby otworzyć jej właściwości, a następnie
- Dodaj nowy port do transformacji
- Zmień nazwę portu na SUM_SAL
- Zmień typ danych tego nowego portu, aby podwoić
- Ustaw ten port jako port wyjściowy, zaznaczając pole wyboru portu wyjściowego.
- Kliknij opcję wyrażenia
Krok 6 - W oknie wyrażenia
- Dodaj wyrażenie-sumę (SAL), musisz napisać to wyrażenie.
- Wybierz przycisk OK, spowoduje to przywrócenie okna edycji transformacji.
Krok 7 - W oknie edycji transformacji wybierz opcję "GroupBy", zaznaczając pole wyboru przy kolumnie działu i kliknij OK (wybierając opcję grupowania według działu, instruujemy Informatica, aby grupowała wynagrodzenia według działu)
Krok 8 - Połącz kolumny deptno i sum_sal z transformacji agregatora do tabeli docelowej
Teraz zapisz mapowanie i wykonaj je po utworzeniu nowej sesji dla tego mapowania. Tabela docelowa zawierałaby sumę wynagrodzeń według działu. W ten sposób możemy użyć transformacji agregatora do obliczenia zagregowanych wyników.