Transformacja agregatora w informatyce z przykładem

Co to jest transformacja agregatora?

Transformacja agregatorowa to aktywna transformacja używana do wykonywania obliczeń zbiorczych, takich jak suma, średnia itp.

Na przykład, jeśli chcesz obliczyć sumę wynagrodzeń wszystkich pracowników w podziale na działy, możesz skorzystać z transformacji agregatora.

Operacje agregacji są wykonywane na grupie wierszy, więc do przechowywania wszystkich tych rekordów i wykonywania obliczeń wymagany jest tymczasowy symbol zastępczy.

Transformacja agregatora w informatyce

W tym celu używana jest pamięć podręczna agregatora. Jest to tymczasowa pamięć główna, która jest przydzielana transformacji agregatora w celu wykonywania takich operacji.

W tym przykładzie obliczymy sumę wynagrodzeń według działów. W tym celu potrzebujemy nowej kolumny do przechowywania tej sumy. Więc najpierw przygotujemy nową kolumnę.

Krok 1) Utwórz nową docelową tabelę bazy danych, na przykład „sum_sal_deptwise”, używając poniższego skryptu. Zobaczysz, że nowa docelowa tabela bazy danych jest tworzona pod Target folderze w następnym kroku.

Pobierz powyższy plik Create_table_sal_deptwise.txt

Krok 2) Utwórz nowe mapowanie „m_ sum_sal_deptwise”.

Aby utworzyć nowe mapowanie, potrzebujemy tabeli źródłowej (EMP) i tabeli docelowej (sum_sal_deptwise) w projektancie mapowania. W tym celu musimy:

  1. Zaimportuj tabelę docelową „sum_sal_deptwise” do mapowania.
  2. Zaimportuj tabelę źródłową „emp”.

Transformacja agregatora w informatyce

Krok 3) W mapowaniu

  1. Z Kwalifikator źródła, usuń kolumny empno, ename, job, mgr, Hiredate & Comm, pozostawiając tylko kolumny deptno i sal.
  2. Utwórz nową transformację agregatora za pomocą menu skrzynki narzędziowej, jak pokazano na zrzucie ekranu. Po kliknięciu ikony agregatora zostanie utworzona nowa transformacja agregatora.

Transformacja agregatora w informatyce

Krok 4) Przeciągnij i upuść kolumny SAL i DEPTNO z kwalifikatora źródła (SQ_EMP) do transformacji agregatora

Transformacja agregatora w informatyce

Krok 5) Double kliknij transformację agregatora, aby otworzyć jej właściwości, a następnie

  1. Dodaj nowy port w transformacji
  2. Zmień nazwę portu na SUM_SAL
  3. Zmień typ danych tego nowego portu na podwójny
  4. Ustaw ten port jako port wyjściowy, zaznaczając pole wyboru portu wyjściowego.
  5. Kliknij opcję wyrażenia

Transformacja agregatora w informatyce

Krok 6) W oknie wyrażeń

  1. Dodaj wyrażenie- suma(SAL), musisz napisać to wyrażenie.
  2. Wybierz przycisk OK, co spowoduje powrót do okna edycji transformacji.

Transformacja agregatora w informatyce

Krok 7) W oknie edycji transformacji wybierz opcję „Grupuj według”, zaznaczając pole wyboru przy kolumnie deptno i kliknij OK (wybierając grupuj według przy kolumnie deptno, instruujemy Informaticę, aby grupowała wynagrodzenia według deptno).

Transformacja agregatora w informatyce

Krok 8) Połącz kolumny deptno i sum_sal z transformacji agregatora z tabelą docelową

Transformacja agregatora w informatyce

Teraz zapisz mapowanie i wykonaj ją po utworzeniu nowej sesji dla tego mapowania. Tabela docelowa będzie zawierać sumę wynagrodzeń według działów. W ten sposób możemy użyć transformacji agregatora do obliczenia wyników zbiorczych.