Lookup-Transformation in Informatica (Beispiel)

โšก Intelligente Zusammenfassung

Die Lookup-Transformation in Informatica liest eine relationale Tabelle, eine Flatfile, eine View oder ein Synonym und gibt die รผbereinstimmenden Werte fรผr jede eingehende Zeile zurรผck. Sie funktioniert wie ein Join, bei dem eine Seite die Lookup-Quelle ist.

  • ๐Ÿ”Ž Der Spielverlauf entscheidet รผber Sieg oder Niederlage: Auf der Registerkarte โ€žBedingungโ€œ befindet sich der Vergleich, z. B. DEPTNO = DEPTNO1, der darรผber entscheidet, welche Nachschlagezeile zurรผckgegeben wird.
  • ๐Ÿงช Ausgearbeitetes Beispiel: Sieben-Karteping Designerschritte rufen Abteilungsnamen aus DEPT in ein EMP_DEPTNAME-Ziel ohne Joiner ab.
  • ???? Verbunden oder nicht verbunden: Eine verbundene Lookup-Operation befindet sich in der Pipeline, wรคhrend eine unverbundene Lookup-Operation aus einem Ausdruck mit dem Qualifizierer :LKP aufgerufen wird.
  • ๏ธ StandardmรครŸig passiv: Wenn nur eine Zeile zurรผckgegeben wird, bleibt die Transformation passiv; wenn alle รผbereinstimmenden Zeilen zurรผckgegeben werden, wird sie aktiv.
  • โ™ป๏ธ Wiederverwendbare Objekte: Die Option โ€žWiederverwendbar machenโ€œ wandelt eine Transformation in ein Objekt um, das mehrere Karten enthรคlt.pings kรถnnen geteilt werden.
  • โš ๏ธ Einseitige Werbung: Eine Transformation, die zu wiederverwendbar hochgestuft wurde, kann nicht wieder herabgestuft werden; daher sollte die Bestรคtigungsabfrage sorgfรคltig gelesen werden.

Lookup-Transformation in Informatica

Was ist Lookup-Transformation?

Die Lookup-Transformation dient dazu, relevante Daten anhand einer Quelle, eines Quellqualifizierers oder eines Ziels zu ermitteln. Im Prinzip handelt es sich um eine Art Join-Operation, bei der eine der verknรผpften Tabellen die Quelldaten und die andere die Lookup-Tabelle darstellt. Die Lookup-Quelle kann eine relationale Tabelle, eine Sicht, ein Synonym oder eine Flatfile sein.

Die Transformation arbeitet passiv und gibt fรผr jede eingehende Zeile eine einzelne Zeile zurรผck. Ab PowerCenter 9.x kann sie auch so konfiguriert werden, dass sie alle Zeilen zurรผckgibt, die der Bedingung entsprechen. In diesem Modus ist sie aktiv. Die Auswahl wird bei der Erstellung der Transformation getroffen und kann nachtrรคglich nicht mehr geรคndert werden.

Es gibt zwei Mรถglichkeiten, es auf einer Karte zu platzieren.ping, und die Differenz entscheidet darรผber, wie der zurรผckgegebene Wert den Rest der Pipeline erreicht.

Aspekt Verbundene Suche Unverbundene Suche
Position Befindet sich innerhalb der Pipeline und empfรคngt Werte aus der vorherigen Transformation. Befindet sich auรŸerhalb der Pipeline und wird von einem Ausdruck aufgerufen
Wie es genannt wird Zeilen flieรŸen in seine Eingangsports Aufgerufen mit dem Referenzqualifizierer :LKP
zurรผckgegebene Werte Mehrere Ausgรคnge kรถnnen nachgelagert miteinander verbunden werden. Ein Rรผckgabewert wird an den aufrufenden Ausdruck zurรผckgegeben.
Typische Verwendung Jede Zeile benรถtigt die nachgeschlagenen Spalten. Die Suche wird nur fรผr einige Zeilen benรถtigt, oder dieselbe Suche wird von mehreren Stellen aufgerufen.

In frรผheren Themen haben wir die Tischlertransformation Um die Abteilungsnamen aus den Tabellen โ€žempโ€œ und โ€ždeptโ€œ zu extrahieren, werden wir dies mithilfe der Lookup-Transformation umsetzen.

So erstellen Sie eine Lookup-Transformation

Im Folgenden werden die Schritte zur Erstellung einer Lookup-Transformation in Informatica beschrieben.

Schritt 1) Erstellen Sie eine neue Karteping mit EMP als Quelle und EMP_DEPTNAME als Ziel. Die Karteping Die Designer-Arbeitsflรคche enthรคlt dann die Quelle, ihren Quellqualifizierer und die Zieldefinition.

Karteping Designer-Canvas mit der EMP-Quelle, ihrem Quellqualifizierer und dem EMP_DEPTNAME-Ziel

Schritt 2) Erstellen Sie eine neue Transformation รผber das Menรผ โ€žTransformationโ€œ und anschlieรŸend im Fenster โ€žTransformation erstellenโ€œ:

  1. Wรคhlen Sie die Transformation โ€žLookupโ€œ als Transformation aus.
  2. Geben Sie den Transformationsnamen โ€žlkp_deptโ€œ ein.
  3. Wรคhlen Sie die Erstellungsoption

Erstellen Sie ein Transformationsfenster mit ausgewรคhlter Nachschlagetransformation und dem eingegebenen Namen lkp_dept.

Schritt 3) Dadurch wird das Fenster mit der Nachschlagetabelle geรถffnet. In diesem Fenster:

  1. Schaltflรคche โ€žQuelle auswรคhlenโ€œ.
  2. Wรคhlen Sie die DEPT-Tabelle aus
  3. Wรคhlen Sie die Schaltflรคche โ€žOKโ€œ.

Wรคhlen Sie im Dialogfeld โ€žNachschlagetabelleโ€œ die Schaltflรคche โ€žQuelleโ€œ aus und markieren Sie die Tabelle โ€žDEPTโ€œ.

Schritt 4) Es wird eine Lookup-Transformation mit den Spalten der Tabelle DEPT erstellt. Klicken Sie nun auf die Schaltflรคche โ€žFertigโ€œ. Das Objekt lkp_dept enthรคlt nun DEPTNO, DNAME und LOC als Lookup-Ports.

Die Lookup-Transformation lkp_dept wurde mit den Spalten der Tabelle DEPT als Lookup-Ports erstellt.

Schritt 5) Ziehen Sie die Spalte DEPTNO aus dem Quellqualifizierer per Drag & Drop in die Lookup-Transformation. Dadurch wird in der Lookup-Transformation die neue Spalte DEPTNO1 erstellt. Verknรผpfen Sie anschlieรŸend die Spalte DNAME aus der Lookup-Transformation mit der Zieltabelle.

Die Lookup-Transformation ermittelt den Abteilungsnamen anhand des Werts von DEPTNO1 und gibt ihn zurรผck. DEPTNO1 ist der Eingabeport, der die Mitarbeiter-Abteilungsnummer enthรคlt, wรคhrend DEPTNO der Port bleibt, der aus der DEPT-Lookup-Tabelle gelesen wird.

DEPTNO ist vom Quellqualifizierer mit lkp_dept verknรผpft und DNAME ist mit dem Ziel EMP_DEPTNAME verknรผpft.

Schritt 6) Double Klicken Sie auf die Transformation โ€žNachschlagenโ€œ. AnschlieรŸend im Fenster โ€žTransformation bearbeitenโ€œ:

  1. Wรคhlen Sie die Registerkarte โ€žBedingungโ€œ aus
  2. Setzen Sie die Bedingungsspalte auf DEPTNO = DEPTNO1
  3. Wรคhlen Sie die Schaltflรคche โ€žOKโ€œ.

Im Reiter โ€žBedingungenโ€œ des Fensters โ€žTransformationen bearbeitenโ€œ wurde die Bedingung DEPTNO = DEPTNO1 eingegeben.

Schritt 7) Verknรผpfen Sie die restlichen Spalten aus dem Quellqualifizierer mit der Zieltabelle.

Verbleibende Quellqualifiziererspalten, die mit der Zieltabelle EMP_DEPTNAME verknรผpft sind

Speichern Sie jetzt die Karteping und fรผhren Sie es aus, nachdem Sie die Sitzung und den Workflow erstellt haben. Diese Zuordnungping Die Abteilungsnamen werden mithilfe der Lookup-Transformation abgerufen.

Die Lookup-Transformation ist so konfiguriert, dass sie in der Tabelle DEPT nachschlรคgt, und die Verknรผpfungsbedingung basiert auf der Abteilungsnummer. Falls mehrere Zeilen in der Tabelle DEPT die Bedingung erfรผllen, bestimmt die Eigenschaft โ€žLookup-Richtlinie bei Mehrfachรผbereinstimmungโ€œ auf der Registerkarte โ€žEigenschaftenโ€œ, welcher Wert zurรผckgegeben wird.

Wiederverwendbare Transformation

Eine normale Transformation ist ein Objekt, das zu einer Karte gehรถrt.ping und kann innerhalb dieser Karte verwendet werdenping Nur. Durch die Wiederverwendbarkeit einer Transformation kann diese jedoch in mehreren Karten wiederverwendet werden.pings.

Beispielsweise kann eine Lookup-Transformation, die Mitarbeiterdetails anhand der Mitarbeiternummer abruft, in mehreren Maps verwendet werden.pings รผberall dort, wo Mitarbeiterdaten benรถtigt werden.

Durch die Verwendung einer wiederverwendbaren Transformation wird der Aufwand reduziert, dieselbe Funktionalitรคt erneut zu erstellen. Jede Karteping enthรคlt eine Instanz des einen gespeicherten Objekts, sodass eine ร„nderung an der wiederverwendbaren Transformation alle Objekte erreicht.

So erstellen Sie eine wiederverwendbare Transformation

Im Folgenden sind die Schritte zur Erstellung einer wiederverwendbaren Transformation aufgefรผhrt.

Schritt 1) ร–ffnen Sie die Karteping welche Transformation durchlรคuft, hier vollziehen wir die Rangtransformation wiederverwendbar.

Karteping Die Rangtransformation wurde im Designer geรถffnet und soll wiederverwendbar gemacht werden.

Schritt 2) Double Klicken Sie auf die Transformation, um das Fenster โ€žTransformation bearbeitenโ€œ zu รถffnen. Dann:

  1. Wรคhlen Sie im Fenster die Registerkarte Transformation aus
  2. Aktivieren Sie das Kontrollkรคstchen, um die Transformation wiederverwendbar zu machen
  3. Wรคhlen Sie im Bestรคtigungsfenster Ja aus
  4. Wรคhlen Sie im Fenster mit den Transformationseigenschaften OK aus.

Registerkarte โ€žTransformationenโ€œ im Fenster โ€žTransformationen bearbeitenโ€œ mit aktiviertem Kontrollkรคstchen โ€žWiederverwendbar machenโ€œ.

Dadurch wird die Transformation wiederverwendbar. Das Bestรคtigungsfenster im dritten Punkt sollte vor der Annahme gelesen werden: Das Hochstufen einer Transformation zu wiederverwendbar ist eine irreversible ร„nderung im Designer, und das Objekt kann anschlieรŸend nicht mehr herabgestuft werden. Wo eine einzelne Karteping Wenn ein Objekt eine eigene Kopie benรถtigt, ziehen Sie es bei gedrรผckter Strg-Taste auf die Arbeitsflรคche, um stattdessen eine nicht wiederverwendbare Instanz zu erstellen.

Hรคufig gestellte Fragen

Ein Cache lรคdt die Suchquelle einmalig in den Arbeitsspeicher, sodass jede Zeile lokal abgeglichen wird, anstatt die Datenbank abzufragen. Caching eignet sich fรผr kleine oder wiederholt gelesene Suchquellen; eine nicht zwischengespeicherte Suche fragt die Quelle fรผr jede eingehende Zeile ab.

Verwenden Sie eine Lookup-Funktion, wenn eine Seite eine kleine Referenztabelle ist und nur wenige Spalten benรถtigt werden, insbesondere wenn dieselbe Referenz von mehreren Stellen gelesen wird. Ein Joiner eignet sich fรผr einen echten Join zweier groรŸer, heterogener Datenpipelines.

Die Suchrichtlinie fรผr Mehrfachรผbereinstimmungen legt dies fest. Sie kann einen Fehler melden oder den ersten, letzten oder einen beliebigen รผbereinstimmenden Wert zurรผckgeben. Die Option, alle รผbereinstimmenden Werte zurรผckzugeben, aktiviert die Transformation und muss beim Erstellen des Projekts festgelegt werden.

Meist liegt es an der GrรถรŸe der Datenquelle. Eine nicht zwischengespeicherte Abfrage fragt die Datenbank einmal pro Zeile ab, wรคhrend bei einer zwischengespeicherten Abfrage die Erstellungskosten im Voraus bezahlt werden. Das Entfernen ungenutzter Abfrageports und das Eingrenzen der Abfrage kรถnnen Abhilfe schaffen.

Maschinelles Lernen wird in modernen Datenintegrationswerkzeugen eingesetzt, um Spaltenรผbereinstimmungen zwischen einer Quell- und einer Referenztabelle vorzuschlagen und Abfragen zu kennzeichnen, die die Sitzungslaufzeit stark beanspruchen. Jeder Vorschlag muss jedoch weiterhin anhand der realen Daten รผberprรผft werden.

Copilot hilft bei der Textdarstellung auf der Karte.ping Anstelle der Designer-Oberflรคche: SQL-รœberschreibungen, Parameterdateien und Skripte, die Workflows ausfรผhren, mรผssen nachgeschlagen werden. Da das Repository nicht eingesehen werden kann, mรผssen Portnamen und Bedingungen manuell รผberprรผft werden.

Eine wiederverwendbare Transformation ist ein einzelnes gespeichertes Objekt, das von mehreren Karten gemeinsam genutzt wird.pings. Ein Mapplet ist ein wiederverwendbarer Satz von Transformationen mit Eingabe- und Ausgabegruppen, der einen ganzen Logikabschnitt anstatt eines einzelnen Schritts verpackt.

Keine Zeile in der Suchquelle erfรผllte die Bedingung fรผr diese Eingabezeilen. Prรผfen Sie die beiden Ports auf nachfolgende Leerzeichen, GroรŸ-/Kleinschreibung und Datentypkonflikte, da der Vergleich exakt erfolgt.

Fassen Sie diesen Beitrag mit folgenden Worten zusammen: