Aggregator-Transformation in Informatica mit Beispiel

Anonim
Was ist Aggregator-Transformation?

Die Aggregatortransformation ist eine aktive Transformation, mit der Aggregatberechnungen wie Summe, Durchschnitt usw. durchgeführt werden.

Wenn Sie beispielsweise die Summe der Gehälter aller Mitarbeiter abteilungsweise berechnen möchten, können wir die Aggregator-Transformation verwenden.

Die Aggregatoperationen werden über eine Gruppe von Zeilen ausgeführt, sodass ein temporärer Platzhalter erforderlich ist, um alle diese Datensätze zu speichern und die Berechnungen durchzuführen.

Hierzu wird der Aggregator-Cache-Speicher verwendet. Dies ist ein temporärer Hauptspeicher, der der Aggregatorumwandlung zugewiesen wird, um solche Operationen auszuführen.

In diesem Beispiel berechnen wir die Summe der abteilungsbezogenen Gehälter. Dazu benötigen wir eine neue Spalte, um diese Summe zu speichern. Also werden wir zuerst eine neue Kolumne vorbereiten.

Schritt 1 - Erstellen Sie eine neue Datenbankzieltabelle, z. B. "sum_sal_deptwise", indem Sie das folgende Skript verwenden. Sie werden sehen, dass die neue Datenbankzieltabelle im nächsten Schritt unter Zielordner erstellt wird.

Laden Sie die obige Datei Create_table_sal_deptwise.txt herunter

Schritt 2 - Erstellen Sie ein neues Mapping "m_ sum_sal_deptwise".

Um ein neues Mapping zu erstellen, benötigen wir im Mapping-Designer die Quelltabelle (EMP) und die Zieltabelle (sum_sal_deptwise), die wir benötigen

  1. Importieren Sie die Zieltabelle "sum_sal_deptwise" in das Mapping.
  2. Importieren Sie die Quelltabelle "emp".

Schritt 3 - In der Zuordnung,

  1. Löschen Sie im Quellqualifikator die Spalten empno, ename, job, mgr, employee & comm, sodass nur die Spalten deptno und sal übrig bleiben.
  2. Erstellen Sie eine neue Aggregatorumwandlung mithilfe des Toolbox-Menüs (siehe Abbildung). Wenn Sie auf das Aggregatorsymbol klicken, wird eine neue Aggregatortransformation erstellt.

Schritt 4 - Ziehen Sie die SAL- und DEPTNO-Spalten per Drag & Drop aus dem Quellqualifizierer (SQ_EMP) in die Aggregatorumwandlung

Schritt 5 - Doppelklicken Sie auf die Aggregatorumwandlung, um deren Eigenschaften zu öffnen, und dann

  1. Fügen Sie der Transformation einen neuen Port hinzu
  2. Benennen Sie den Portnamen in SUM_SAL um
  3. Ändern Sie den Datentyp dieses neuen Ports in double
  4. Machen Sie diesen Port zum Ausgabeport, indem Sie das Kontrollkästchen des Ausgabeports aktivieren.
  5. Klicken Sie auf die Ausdrucksoption

Schritt 6 - Im Ausdrucksfenster

  1. Fügen Sie Ausdruckssumme (SAL) hinzu, Sie müssen diesen Ausdruck schreiben.
  2. Wählen Sie die Schaltfläche OK. Dadurch wird das Bearbeitungsumwandlungsfenster wiederhergestellt.

Schritt 7 - Wählen Sie im Bearbeitungsfenster "Transformation" die Option "GroupBy" aus, indem Sie das Kontrollkästchen in der Spalte "deptno" aktivieren und auf "OK" klicken (indem Sie "group by" gegen "deptno" auswählen, weisen wir Informatica an, die Gehälter nach "deptno" zu gruppieren.)

Schritt 8 - Verknüpfen Sie die Spalten deptno und sum_sal aus der Aggregatortransformation mit der Zieltabelle

Speichern Sie nun das Mapping und führen Sie es aus, nachdem Sie eine neue Sitzung für dieses Mapping erstellt haben. Die Zieltabelle würde die Summe der abteilungsbezogenen Gehälter enthalten. Auf diese Weise können wir die Aggregatortransformation verwenden, um die Aggregatergebnisse zu berechnen.