Das Skript löst beide Probleme, aber im Allgemeinen ist es eine gute Idee, es auch interaktiv in JMP durchzuführen. Über die Recode-Plattform können Sie sogar JMP damit beauftragen, den Titlecase für Sie zu erledigen:

oder neue Formelspalte erstellen:

Und mit JMP16 können Sie eine ganze Reihe von Vorgängen durchführen, von der erweiterten Protokollierung bis hin zur einfachen Automatisierung des Prozesses.
Genial.. jthi!!!!
Das von Ihnen vorgeschlagene Skript hat beide Probleme vollständig gelöst.
Vielen Dank.


Der erste Schritt kann mit Titlecase() erfolgen. Die zweite Möglichkeit kann beispielsweise durch Schleifen über Zeilen mit „For Each“ oder interaktiv direkt aus JMP erfolgen.
Interaktive Lösung:
1. Starttisch

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

3. Gehen Sie als nächstes zu Tabellen / Stapel. Beginnen Sie mit Einstellungen wie dieser und probieren Sie es aus:

Ergebnistabelle:

4. Löschen Sie die Beschriftungsspalte und wählen Sie eine der leeren Zeilen in der Datenspalte aus -> Rechtsklick -> Übereinstimmende Zellen auswählen -> Zeilen löschen

Mit Skripten können Sie beispielsweise so etwas tun (erfordert JMP16 aufgrund von For Each, kann aber bei Bedarf in eine For-Schleife geändert werden). Dies kann auch vereinfacht werden, wenn bekannt ist, wie viele Spalten Sie haben und wie viele Werte die Zeichenfolge enthalten kann, 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);
);