Free Trial

Forum - Deutsch

Suchen Sie nach Antworten, stellen Sie Fragen und teilen Sie Ihr Alteryx-Wissen.
GELÖST

If Anweisung ( Contains)

Gökhan
Meteor

Hallo Leute,

 

ich habe IDs in einer Spalte, welche ich in einer anderen Spalte suchen möchte. Das Problem ist, dass in der Suchspalte in den Zellen vor und danach noch weitere Zeichen in unregelmäßigen Abständen stehen. Daher habe ich mithilfe von ChatGpt eine in dem Formula Tool eine IF Contains anweisung eingegeben: 

 

IF Contains([UnaVista_Value], [Alladin_Value]) THEN 'Match' ELSE 'No Match' ENDIF

 

Die Liste ist mehrere tausend Zeilen lang, daher benötige ich eine automatisierte Lösungsmethode. 

 

Vielen Dank im Vorraus!

19 ANTWORTEN 19
Gökhan
Meteor

Ich suche TA in der Spalte Transaktionen. TA und Transaktionen haben eine 1 zu N Beziehung, daher muss ich immer nach TA suchen. 

RolandSchubert
16 - Nebula
16 - Nebula

Hallo @Gökhan ,

 

ich glaube, jetzt passt es. Ich habe die Zuordnungen angepasst, so dass "TA" in "Transaktion" gesucht wird, jetzt gibt es auch wieder Ergebinsse.

 

2024-01-16_09-52-33.jpg

 

 

Noch ein kleiner Tipp: Um Workflow und Daten zusammen bereitzustellen, kannst Du in ein Package exportieren:

 

2024-01-16_09-55-40.jpg

 

Damit können Workflow, verwendete Daten und z.B. auch Macros genutzt werden.

 

Schau doch mal, ob es jetzt funktioniert.

 

Viele Grüße

 

Roland

Gökhan
Meteor

Hallo  Roland, 

 

nochmals vielen Dank. Mein Problem ist die TA muss in der ersten Spalte Links stehen danach muss das Transaction folgen. Sobald ich das andersrum gestalte kommt kein Ergebnis zustande.

 

Viele Grüße,

 

Gökhan 

 

1.PNG2.PNG

RolandSchubert
16 - Nebula
16 - Nebula

Hallo @Gökhan ,

 

meinst Du, dass im Ergebnis "TA" links stehen muss?  Dann kannst Du die Spalten nach dem Find Replace Tool tauschen:2024-01-16_11-07-23.jpg

 

Das geht mit dem Select Tool (Pfleile für Move Up/Move Down) ganz einfach. Bei Find Replace muss die Zuordnung (Transaktion -> F, TA -> R) so eingehalten werden.

 

Probiere doch das mal aus.

 

Viele Grüße

 

Roland

Gökhan
Meteor

Hi Roland, ich möchte das nach TA gesucht wird, und wenn es keinen Treffer gibt, dass die Zelle für Transaction Code leer bleibt. Verstehst du ungefähr was ich meine? 

Ich habe nämlich einen Datensatz mit 950. 000 TAs und davon treffen nicht alle auf einen Transaction Code zu. Die die nicht zutreffen müssen bearbeitet werden. In unserem Beispiel aber zeigt der Workflow nur die TAs an die zu dem Transaction Code gematch haben. 

 

 

Viele Grüße,

 

Gökhan

Gökhan
Meteor

Hier sind TAs drin die nicht zu Transaction matchen. Ich möchte diese TA dennoch angezeigt bekommen. 

RolandSchubert
16 - Nebula
16 - Nebula

Okay, da also ist die Lücke ... aber die lässt sich schliessen:

 

2024-01-16_11-46-33.jpg

 

Das Find Replace Tool liefert nur die TAs, die einen "Match" in den Transaktionen haben. Ich hänge hier noch ein Join Tool an, das mit der Liste aller TAs verbindet. Die gefundenen TAs kommen über den "J" Output, alle fehlenden über "R". Und die beiden verbinde ich dann mit einem Union, dann findest Du im Ergebnis auch alle TAs.

Wenn noch eine Sortierung gebraucht wird, könnte die dann hinter dem Union Tool eingefügt werden.

 

 

 

 

Gökhan
Meteor

Hallo Roland,

Vielen Vielen Dank, das löst jetzt mein Problem. In den englischen Foren wurde mir zu IIF Contains oder Regex Match geraten. Beide Varianten haben nicht funktioniert. Kannst du bitte deine Meinung darüber sagen, wieso diese beiden Methoden nicht zu empfehlen sind anhand meiner Aufgabenstellung? 

 

Vielen Dank nochmal für deine Hilfe und viele Grüße,

 

Gökhan Kilic

RolandSchubert
16 - Nebula
16 - Nebula

Hallo @Gökhan , 

schön, dass es jetzt funktioniert.

Contains und Regex Match prüfen, ob der Inhalt von Feld1 in Feld2 im gleichen Datensatz enthalten ist. In deinem Anwendungsfall sind aber die beiden Felder nicht in einem Datensatz zu finden, sondern "irgendwo". 

 

Bei Contains oder RegexMatch ist also die Frage: Ist für den einzelnen Datensatz (Zeile) der Inhalt von Feld1 in Feld2 zu finden

In deiner Anwendung: Gibt es in Feld1 in irgendeiner Zeile einen Eintrag, der in irgendeiner  (auch einer anderen) Zeile in Feld2 enthalten ist. In Excel würde man da einen SVERWEIS nehmen, bei Alteryx entspricht das dann einem Find Replace.

Wenn bei Dir Fragen zu Alteryx auftauchen, nutze gerne auch immer das deutsche Forum - hier sind zwar nicht so viel User aktiv, aber meistens finden wir trotzdem eine Lösung. 

Schau auch gerne mal bei einem Treffen unserer deutschsprachigen User Group rein (das nächste ist am 27. Februar), da gibt es auch immer interessante Tipps & Tricks!


Viele Grüße und weiter viel Erfolg bei der Arbeit mit Alteryx

Roland

Gökhan
Meteor

Hallo Roland,

 

Vielen Dank für deinen Support und den hilfreichen Ratschlägen.

Sehr gerne werde ich an dem User Treffen im Februar teilnehmen!

 

Viele Dank und viele Grüße,

 

Gökhan 

Beschriftungen