該腳本確實解決了這兩個問題,但一般來說,嘗試在 JMP 中以互動方式執行此操作是個好主意。 您甚至可以透過 Recode 平台讓 JMP 為您製作 Titlecase:

或建立新的公式列:

並且使用 JMP16 執行相當多的操作,您可以從增強的日誌中找到輕鬆自動化流程。
第一個可以用 Titlecase() 完成。 第二個可以透過使用 For Each 循環行或直接從 JMP 互動來完成。
互動解決方案:
1. 起始表

2. 選擇 Col_a 並前往 Cols / Utilities / Text to Columns 並使用 , 作為分隔符

3. 接下來轉到表格/堆疊。 從這樣的設定開始並嘗試:

結果表:

4. 刪除標籤列並選擇資料列中的空白行之一 -> 右鍵點選 -> 選擇相符的儲存格 -> 刪除行

使用腳本,您可以執行類似的操作(由於 For Each,需要 JMP16,但如果需要,可以將其變更為 For-loop)。 如果知道有多少列以及用於複製行的字串可以有多少個值,這也可以變得更簡單。
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);
);