Aktualisieren Sie die Spalte mit Werten, wenn eine andere Spalte einen bestimmten Wert enthältHallo,
Ich habe zwei Spalten mit den Namen „Versandland“ und „Versandstaat“. Einige der Zeilen unter „Versandland“, insbesondere für die USA, enthalten keinen Wert.Ich möchte die Spalte „Mailing-Land“ mit dem Wert „USA“ aktualisieren, wenn der Mailing-Bundesstaat Werte enthält, die verschiedenen Bundesstaatscodes in den USA entsprechen. Ich habe fast 250.000 Zeilen, daher ist eine manuelle Aktualisierung nicht möglich. Ich bin neu in JMP und Scripting und kann dieses Problem nicht lösen.
Ich habe einen Screenshot meiner Beispieldaten angehängt. Jede Hilfe wäre dankbar. Dank im Voraus.

Betreff: Spalte mit Werten aktualisieren, wenn eine andere Spalte einen bestimmten Wert enthältDieser Code muss als separates Skript und nicht als Formel ausgeführt werden.Betreff: Spalte mit Werten aktualisieren, wenn eine andere Spalte einen bestimmten Wert enthältHallo,
Das ist vielleicht eine dumme Frage, aber wenn Sie diesen Code verwenden, verwenden Sie ihn, indem Sie die Formel der Spalte bearbeiten? Ich habe es mit einer Formel wie dieser gemacht, da ich es nicht auf der Grundlage eines fehlenden Werts mache. Ich versuche, meine Spalte „Anbieter“ so zu aktualisieren, dass die Spaltenbezeichnung „MnDOT Est“ lautet. der Anbieter ist „MnDOT“. Ich erhalte jedoch den Fehler „Spalte Anbieterformel unterbrochen“ mit einer ungültigen Referenz. Es ändert diese in MnDOT, löscht aber einfach alle anderen. Ich hoffe das ergibt Sinn.
For Each Row(
temp = :Vendor;
:Vendor = If( :Label == "MnDOT Est.", "MnDOT", temp);
);Betreff: Spalte mit Werten aktualisieren, wenn eine andere Spalte einen bestimmten Wert enthält- Konvertieren Sie den Datumswert nicht in Zeichen.
- In numerischen Spalten (die eine Datumsspalte sind) wird das „.“ zeigt an, dass der Wert fehlt.
- Du musst etwas lesen.Die Bücher „Using JMP“ und „Scripting Guide“ sind eine Pflichtlektüre.Sie finden sie im Pulldown-Menü „Hilfe“.
Hilfe==>Bücher==>JMP verwenden
Hilfe==>Bücher==>Skripthandbuch
Betreff: Spalte mit Werten aktualisieren, wenn eine andere Spalte einen bestimmten Wert enthältDanke txnelson.
Wenn es sich um einen fehlenden Datumseintrag handelt, konvertiere ich die Spalte besser in ein Zeichen und führe dann das Skript aus und führe außerdem das „.“ aus. Punkt, der in fehlenden Spalten angezeigt wird, wird in Ismissing() als fehlend interpretiert oder sollte er einfach leer sein?
Betreff: Spalte mit Werten aktualisieren, wenn eine andere Spalte einen bestimmten Wert enthältWenn also der Wert in Spalte A fehlt, möchten Sie, dass der Wert in Spalte A2 Spalte A zugewiesen wird?Und das Gleiche gilt für 5 weitere Spalten?
Wenn Sie danach fragen, gehen Sie wie folgt vor, um es für Spalte A zu tun, und wiederholen Sie es für die anderen 5 Spalten
For Each Row(
If( IsMissing(:A), :A = :A2);
If( IsMissing(:B), :B = :B2);
);Betreff: Spalte mit Werten aktualisieren, wenn eine andere Spalte einen bestimmten Wert enthältIch habe ein ähnliches Problem. Ich habe IDs und Daten, die identisch sein sollten, sich aber aufgrund fehlender Werte in unterschiedlichen Spalten befinden.
Wie kann ich dies anwenden, um nur Zeilen mit fehlenden Werten für 6 Spalten durch Werte aus einem anderen Satz von 6 Spalten zu ersetzen?
Betreff: Spalte mit Werten aktualisieren, wenn eine andere Spalte einen bestimmten Wert enthältWirklich hilfreich.! Es hat auch für meinen Anwendungsfall funktioniert.! Vielen Dank.!
@txnelson schrieb:
Hier ist eine Lösung, die sich bei Marks Drehbuch etwas Freiheit nimmt
For Each Row(
temp=:Mailing Country;
:Mailing Country = If( Is Missing( :Mailing Country ) & Contains( {"AL","AZ"}, :Mailing State ), "USA" ,temp);
);
Betreff: Spalte mit Werten aktualisieren, wenn eine andere Spalte einen bestimmten Wert enthältDanke Jim. Es hat perfekt funktioniert.
Danke Mark für dein Skript.
Betreff: Spalte mit Werten aktualisieren, wenn eine andere Spalte einen bestimmten Wert enthältHier ist eine Lösung, die sich bei Marks Drehbuch etwas Freiheit nimmt
For Each Row(
temp=:Mailing Country;
:Mailing Country = If( Is Missing( :Mailing Country ) & Contains( {"AL","AZ"}, :Mailing State ), "USA" ,temp);
);Betreff: Spalte mit Werten aktualisieren, wenn eine andere Spalte einen bestimmten Wert enthältHallo Mark,
Vielen Dank für Ihre Lösung.
Allerdings stelle ich fest, dass beim Ausführen Ihres Skripts die Zeilen ohne den Wert mit „USA“ aktualisiert werden, während die Zeilen mit dem zuvor vorhandenen Wert nach der Ausführung des Skripts verschwinden.
Ich habe einen Screenshot von beiden vor und nach der Ausführung des Skripts angehängt. Danke.
Before scriptBefore scriptVor dem Drehbuch
After scriptAfter script Nach dem Drehbuch
Betreff: Spalte mit Werten aktualisieren, wenn eine andere Spalte einen bestimmten Wert enthältSie könnten eine Formel wie diese in einer neuen Spalte verwenden:
If( Is Missing( :Mailing Country ) & Contains( {"AL","AZ"}, :Mailing State ), "USA" )
Wenn Sie keine neue Spalte wünschen, können Sie dieses Skript ausführen, um die fehlenden Werte in der vorhandenen Spalte zu ersetzen:
For Each Row(
:Mailing Country = If( Is Missing( :Mailing Country ) & Contains( {"AL","AZ"}, :Mailing State ), "USA" );
);
In beiden Fällen müssten Sie die Liste vor der Verwendung erweitern, um den aus zwei Buchstaben bestehenden Code für jeden Bundesstaat aufzunehmen.