El script resuelve ambos problemas, pero en general es una buena idea intentar hacerlo también de forma interactiva en JMP. Incluso puede hacer que JMP haga el Titlecase por usted a través de la plataforma Recode:

o crea una nueva columna de fórmula:

Y con JMP16, puede encontrar bastantes operaciones que realiza, desde un registro mejorado para automatizar fácilmente el proceso.
Impresionante .. jthi !!!!
El script que sugirió resolvió completamente ambos problemas.
Muchísimas gracias.

El primero se puede hacer con Titlecase(). El segundo se puede hacer, por ejemplo, recorriendo las filas con For Each o de forma interactiva directamente desde JMP.
Solución interactiva:
1. Mesa de inicio

2. Seleccione Col_a y vaya a Cols / Utilities / Text to Columns y use , como delimitador

3. A continuación, vaya a Tablas / Pila. Comience con configuraciones como esta y pruébelo:

tabla de resultados:

4. Elimine la columna Etiqueta y seleccione una de las filas vacías en la columna Datos -> haga clic con el botón derecho -> seleccione celdas coincidentes -> elimine filas

Con secuencias de comandos puede hacer, por ejemplo, algo como esto (requiere JMP16 debido a For Each, pero se puede cambiar a For-loop si es necesario). Esto también se puede simplificar si se sabe cuántas columnas tiene y cuántos valores puede haber en la cadena que se usa para duplicar filas.
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);
);