Pat Match innerhalb einer Schleife verwendenHallo,
Ich versuche, ein Programm zu schreiben, um eine Eingabezeichenfolge zu erhalten, ein Schlüsselwort innerhalb der vollständigen Zeichenfolge zu finden und eine neue Spalte nur mit der Abkürzung zu erstellen. Das Skript sollte alle Zeilen einer einzelnen Spalte durchlaufen. Mein Code wirft einen Fehler und ich glaube, es ist die Syntax meiner Schleife, scheint aber nicht herauszufinden, wo der Fehler liegt. Folgendes habe ich:
For Each Row(
:prodFam = If(
Pat Match(:prodGroup, "aleutian"),
"ALEUTIAN",
Pat Match(:prodGroup, "ari"),
"ARI",
Pat Match(:prodGroup, "blue"),
"BLUE RIDGE",
und die Schleife geht weiter. Jede Hilfe wird sehr geschätzt, danke!
Re: Verwenden von Pat Match innerhalb der SchleifeWährend Sie sagen, gibt die Contains-Funktion einen numerischen Wert zurück (die Position, an der sich der Artikel befindet). Sie können den Wert jedoch als boolean behandeln: 0 = false, andernfalls true, sodass Sie Code schreiben können, der die Contains-Funktion als boolean behandelt:
Wenn (Enthält (...),
// etwas tun
)
Re: Verwenden von Pat Match innerhalb der SchleifeSie benötigen eine boolesche Antwort für Ihre Ob() Funktion zu arbeiten. Auf diese Weise entsteht das Ergebnis Enthält () wird interpretiert, wie ich es bereits erklärt habe.
Re: Verwenden von Pat Match innerhalb der SchleifeDas Problem bei der Verwendung der Contains () - Funktion ist, dass sie einen numerischen Wert zurückgibt, wenn ich wirklich nur einen booleschen Wert für "true" oder "false" brauche. Ich vermute, ich könnte den Wert verwenden, den es zurückgibt, um einen Teilstring zu indizieren, aber am Ende scheint das mehr Codezeilen für etwas zu sein, das mit pat match ausgeführt werden könnte, oder? Danke für die Antwort!
Re: Verwenden von Pat Match innerhalb der SchleifeWenn dieser Code nicht Teil eines größeren Skripts ist, können Sie zunächst eine Spaltenformel eingeben. Das Argument in der Für jede Reihe() Funktion ist die gleiche wie die Spaltenformel.
Zweitens, obwohl Zeichenkettenmuster sehr nützlich sind, denke ich, dass Sie sie verwenden könnten Enthält (Testzeichenfolge, Zielzeichenfolge) In diesem Fall suchen Sie nicht nach einem Muster, sondern nach einer wörtlichen Zeichenfolge (Wort). Enthält () Gibt den Ort zurück, wenn er gefunden wurde, oder Null, wenn er nicht gefunden wurde. JMP interpretiert Null als falsch und Nicht-Null als wahr, sodass Ihre Logik mit der Ob() Funktionen steht wie es ist.
Re: Verwenden von Pat Match innerhalb der SchleifeIch habe also festgestellt, dass Sie nach dem Erstellen eines Verweises auf eine Spalte keine Doppelpunkte mehr verwenden, um anzugeben, dass es sich um einen Spaltennamen handelt. Mein Skript läuft jedoch jetzt ohne die Tabelle mit den Abkürzungen aufzufüllen. Fehlt mir noch etwas? Vielen Dank!