Bedingte Zuordnung in Talend

Habe ich einen einfachen job in Talend, die ausgeführt wird, eine innere Verknüpfung der Daten zwischen 2 excel-sheets und dann dump die Ausgabe-excel-Tabelle. Dies kann am besten durch die folgenden Diagramm :-

Bedingte Zuordnung in Talend

Mapping verwendet in tMap ist :-

Bedingte Zuordnung in Talend

Aber die zusätzliche Herausforderung für mich ist jetzt, dass ich führen Sie diese Zuordnung nur, wenn der Wert der Spalte in dieser Zeile nicht NULL ist. zB gibt es ein mapping row1.RECID = row2.RECID, aber dies sollte nur dann legal sein, wenn row2.RECID nicht NULL ist.
Wie kann ich erreichen, das in Talend? Ich habe viel experimentiert mit tMap Ausdrücken, aber nicht bekommen kann es richtig..

Hier ist ein kleines Beispiel für die Eingabe und die entsprechenden erwarteten Ausgang.
Angenommen, mein input hat die Werte :-
v1, v2,v3,v4

1 , A, O, 3

2, B, X, 4

3, C, X, 4

- und lookup-Werte

v1, v2, v3

1, A, O, 3

2, null, X, 4

3, null, C 4

2,null,X,null

Dann die Ausgabe sollte sein :-

v1,v2,v3

1,A,O,3

2,B,X,4

2,B,X,4

  • Sie sind mit den korrekten Einstellungen, die inner-join-Modell gibt Ihnen das nicht-null-Werte, wenn Sie etwas anderes bitte fügen Sie der aktuellen Ausgabe Probe und die gewünschte Ausgabe zu Ihrer Frage.
  • Warum Sie nicht von filter-input-Zeilen, die einen null-Wert in v2-Spalte ? so tmap erhalten alle Zeilen der Eingabe und nur die erste Zeile der lookup-und gibt Ihnen die gewünschte Ausgabe.
  • Ja, versucht, aber es wurde zu langweilig.. Ist es nicht eine elegantere Lösung zu diesem?
  • Ich nicht verstehen, warum die Letzte Zeile angezeigt wird, können Sie bitte erklären, die letzten beiden Zeilen der Ausgabe.
InformationsquelleAutor Sparky | 2015-05-11
Schreibe einen Kommentar