Ich möchte mit JSL zwei Dinge auf eine bestimmte Spalte anwenden.
1. Schreiben Sie das erste Alphabet basierend auf „ “ groß.
(Exam, ple -> Exam, Ple, JSL TEST -> Jsl Test)
2. Im Falle von ","
Dupliziere die Zeile damit es da ist eine Zeile mit dem Wort vor "," und eine Zeile als Wort nach "," beyogen auf ",".
Beispielsweise:
- Spalte1 - "exam, ple" wird in die erste Zeile eingetragen,
- Ersetzen Sie dies durch "Prüfung, Ple",
- Machen Sie diese zwei Zeilen und kopieren Sie die Werte von Column2 und Column3 wie sie sind.

Es wäre wirklich dankbar, wenn Sie mir das Skript mitteilen könnten, um die beiden obigen Regeln auf die Spalte anzuwenden.
Vielen Dank im Voraus! Bitte achten Sie auf COVID-19.
Das erste kann man mit Titlecase() machen. Die zweite kann zum Beispiel durch Schleifen über Zeilen mit For Each oder interaktiv direkt aus JMP erfolgen.
Interaktive Lösung:
1. Starttabelle

2. Wählen Sie Col_a und gehen Sie zu Cols / Utilities / Text to Columns und verwenden Sie als Trennzeichen

3. Als nächstes gehen Sie zu Tabellen / Stapel. Beginnen Sie mit Einstellungen wie diesen und probieren Sie es aus:

Ergebnistabelle:

4. Löschen Sie die Label-Spalte und wählen Sie eine der leeren Zeilen in der Datenspalte -> Rechtsklick -> passende Zellen auswählen -> Zeilen löschen

Mit Scripting können Sie zum Beispiel so etwas machen (benötigt JMP16 wegen For Each, kann aber bei Bedarf in For-Loop geändert werden). Dies kann auch einfacher werden, wenn bekannt ist, wie viele Spalten Sie haben und wie viele Werte in der Zeichenfolge enthalten sein können, die zum Duplizieren von Zeilen verwendet wird.
Names Default To Here(1);
dt = New Table("Untitled",
Add Rows(2),
New Column("Col_a", Character, "Nominal", Set Values({"exam, ple", "JSL TEST"})),
New Column("Col_b", Numeric, "Continuous", Format("Best", 12), Set Values([123, 345])),
New Column("Col_3", Numeric, "Continuous", Format("Best", 12), Set Values([222, 333]))
);
Column(dt, "Col_a") << Set Each Value(Titlecase(:Col_a));
//using collector table:
dt_collector = dt << Subset(
Rows([1]),
Selected columns only(0)
);
dt_collector << Delete Rows([1]);
For Each Row(dt,
row_vals = dt[Row(), 0];
If(Contains(row_vals[1], ","),
new_items = Words(row_vals[1], ",");
For Each({new_item}, new_items,
dt_collector << Add Row(1);
row_to_add = Insert(Eval List({Trim Whitespace(new_item)}), Remove(row_vals, 1));
dt_collector[N Rows(dt_collector), 0] = row_to_add;
);
, //else
dt_collector << Add Row(1);
dt_collector[N Rows(dt_collector), 0] = row_vals;
);
);
//adding to same table
//get rows with ,
rows_to_add = dt << Get Rows Where(Contains(:Col_a, ","));
For Each({new_row}, rows_to_add,
new_items = Words(dt[new_row, "Col_a"], ",");
dt[new_row, "Col_a"] = Trim Whitespace(new_items[1]);
Remove From(new_items, 1);
For Each({new_item}, new_items,
dt << Add Rows(1);
row_to_add = Insert(Eval List({Trim Whitespace(new_item)}), Remove(dt[new_row, 0], 1));
dt[N Rows(dt_collector), 0] = row_to_add;
);
show(new_items);
);
Genial .. jthi !!!!
Das von Ihnen vorgeschlagene Skript hat beide Probleme vollständig gelöst.
Vielen Dank.
Ich wünsche dir ein schönes Silvester 
Das Skript löst beide Probleme, aber im Allgemeinen ist es eine gute Idee, es auch interaktiv in JMP zu versuchen. Über die Recode-Plattform können Sie sogar JMP dazu bringen, den Titlecase für Sie zu erledigen:

oder neue Formelspalte erstellen:

Und mit JMP16 können Sie eine ganze Reihe von Operationen, die Sie ausführen, aus dem erweiterten Protokoll finden, um den Prozess einfach zu automatisieren.