JSLを使用して特定の列に2つのことを適用したいと思います。
1.「」に基づいて最初のアルファベットを大文字にします。
(exam、ple-> Exam、Ple、JSL TEST-> Jsl Test)
2.「、」がある場合
行を複製しますあるように「、」の前の単語を使用する1つの行と、「、」の後の単語として1つの行に基づく "、"。
例えば:
-列1-「exam、ple」が最初の行に入力され、
-これを「Exam、Ple」に置き換えます。
-この2行を作成し、Column2とColumn3の値をそのままコピーします。

上記の2つのルールを列に適用するスクリプトを教えていただければ幸いです。
前もって感謝します! COVID-19に注意してください。
最初の1つは、Titlecase()を使用して実行できます。 2つ目は、たとえばFor Eachを使用して行をループするか、JMPから直接対話的に行うことで実行できます。
インタラクティブソリューション:
1.開始テーブル

2. Col_aを選択し、Cols / Utilities / Text to Columnsに移動して、区切り文字としてを使用します

3.次に、テーブル/スタックに移動します。 このような設定から始めて、試してみてください。

結果表:

4.ラベル列を削除し、データ列で空の行の1つを選択->右クリック->一致するセルを選択->行を削除

スクリプトを使用すると、たとえば次のようなことができます(For EachのためにJMP16が必要ですが、必要に応じてForループに変更できます)。 行の複製に使用される文字列にある列の数と値の数がわかっている場合は、これをより簡単にすることもできます。
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);
);
素晴らしい..jthi !!!!
あなたが提案したスクリプトは、両方の問題を完全に解決しました。
どうもありがとうございました。
良い大晦日をお過ごしください:)