Le script résout les deux problèmes, mais en général, c'est une bonne idée d'essayer de le faire également de manière interactive dans JMP. Vous pouvez même demander à JMP de réaliser le Titlecase pour vous via la plateforme Recode :

ou créez une nouvelle colonne de formule :

Et avec JMP16, un certain nombre d'opérations que vous effectuez, vous pouvez trouver un journal amélioré pour automatiser facilement le processus.
Génial .. jthi !!!!
Le script que vous avez suggéré a complètement résolu les deux problèmes.
Merci beaucoup.

La première peut être effectuée avec Titlecase(). La deuxième peut être effectuée par exemple en bouclant sur les lignes avec For Each ou de manière interactive directement depuis JMP.
Solution interactive :
1. Tableau de départ

2. Sélectionnez Col_a et allez dans Cols / Utilities / Text to Columns et utilisez , comme délimiteur

3. Ensuite, allez dans Tables / Pile. Commencez avec des paramètres comme celui-ci et essayez-le :

tableau des résultats :

4. Supprimez la colonne Étiquette et sélectionnez l'une des lignes vides dans la colonne Données -> clic droit -> sélectionnez les cellules correspondantes -> supprimez les lignes

Avec les scripts, vous pouvez faire par exemple quelque chose comme ceci (nécessite JMP16 en raison de For Each, mais il peut être modifié en For-loop si nécessaire). Cela peut également être rendu plus simple si l'on sait combien de colonnes vous avez et combien de valeurs il peut y avoir dans la chaîne utilisée pour dupliquer les lignes.
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);
);