Aggregatortransformation in Informatica mit Beispiel

Was ist Aggregator-Transformation?

Bei der Aggregatortransformation handelt es sich um eine aktive Transformation, mit der Aggregatberechnungen wie Summe, Durchschnitt usw. durchgeführt werden.

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

Die Aggregatvorgänge 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.

Aggregatortransformation in Informatica

Hierzu wird der Aggregator-Cache-Speicher verwendet. Dabei handelt es sich um einen temporären Arbeitsspeicher, der der Aggregator-Transformation zur Durchführung solcher Operationen zugewiesen wird.

In diesem Beispiel berechnen wir die Summe der Gehälter nach Abteilungen. Dazu benötigen wir eine neue Spalte, um diese Summe zu speichern. Also bereiten wir zunächst eine neue Spalte vor.

Schritt 1) Erstellen Sie eine neue Datenbank-Zieltabelle, beispielsweise „sum_sal_deptwise“, mit dem folgenden Skript. Sie werden sehen, dass die neue Datenbank-Zieltabelle unter Target Ordner im nächsten Schritt.

Laden Sie die obige Datei Create_table_sal_deptwise.txt herunter

Schritt 2) Erstellen Sie eine neue Zuordnung „m_sum_sal_deptwise“.

Um ein neues Mapping zu erstellen, benötigen wir die Quelltabelle (EMP) und die Zieltabelle (sum_sal_deptwise), beide im Mapping-Designer. Dafür müssen wir

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

Aggregatortransformation in Informatica

Schritt 3) In der Kartierung

  1. Von dem Quellqualifikator, löschen Sie die Spalten „empfno“, „ename“, „job“, „mgr“, „hiredate“ und „comm“, so dass nur die Spalten „deptno“ und „sal“ übrig bleiben.
  2. Erstellen Sie mithilfe des Toolbox-Menüs eine neue Aggregatortransformation, wie im Screenshot gezeigt. Wenn Sie auf das Aggregatorsymbol klicken, wird eine neue Aggregatortransformation erstellt.

Aggregatortransformation in Informatica

Schritt 4) Ziehen Sie SAL- und DEPTNO-Spalten per Drag-and-Drop aus dem Quellqualifikator (SQ_EMP) in die Aggregator-Umwandlung

Aggregatortransformation in Informatica

Schritt 5) Double Klicken Sie auf die Aggregator-Transformation, um ihre 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 auf double
  4. Machen Sie diesen Port zum Ausgabeport, indem Sie das Kontrollkästchen des Ausgabeports aktivieren.
  5. Klicken Sie auf die Ausdrucksoption

Aggregatortransformation in Informatica

Schritt 6) Im Ausdrucksfenster

  1. Fügen Sie expression-sum(SAL) hinzu, Sie müssen diesen Ausdruck schreiben.
  2. Klicken Sie auf die Schaltfläche „OK“, um das Fenster „Transformation bearbeiten“ wieder aufzurufen.

Aggregatortransformation in Informatica

Schritt 7) Wählen Sie im Fenster „Transformation bearbeiten“ die Option „Gruppieren nach“, indem Sie das Kontrollkästchen neben der Spalte „Abteilungsnummer“ markieren und auf „OK“ klicken (indem wir „Gruppieren nach“ neben der Abteilungsnummer auswählen, weisen wir Informatica an, die Gehälter nach Abteilungsnummer zu gruppieren).

Aggregatortransformation in Informatica

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

Aggregatortransformation in Informatica

Jetzt speichern Mapping und führen Sie es aus, nachdem Sie eine neue Sitzung für diese Zuordnung erstellt haben. Die Zieltabelle würde die Summe der Gehälter nach Abteilungen enthalten. Auf diese Weise können wir die Aggregatortransformation verwenden, um aggregierte Ergebnisse zu berechnen.

Täglicher Guru99-Newsletter

Beginnen Sie Ihren Tag mit den neuesten und wichtigsten KI-Nachrichten, die jetzt geliefert werden.