我想使用 JSL 將兩件事應用於特定的列。
1.第一個字母以“”為基礎大寫。
(考試, ple -> Exam, Ple , JSL TEST -> Jsl Test)
2. 如果有“,”
複製行所以有一行使用“,”之前的單詞,一行使用“,”之後的單詞基於 ”,”。
例如:
- Column1 - 在第一行輸入“exam, ple”,
- 將其替換為“考試,請”,
- 製作這兩行並按原樣複製 Column2 和 Column3 的值。

如果您能告訴我將上述兩條規則應用於 Column 的腳本,我們將不勝感激。
先感謝您! 請小心 COVID-19。
第一個可以用 Titlecase() 來完成。 例如,第二個可以通過使用 For Each 循環遍歷行或直接從 JMP 交互來完成。
互動解決方案:
1. 起跑台

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

3.接下來轉到表/堆棧。 從這樣的設置開始並嘗試一下:

結果表:

4.刪除Label列並在Data列中選擇空行之一->右鍵單擊->選擇匹配的單元格->刪除行

使用腳本,您可以執行諸如此類的操作(由於 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);
);
該腳本確實解決了這兩個問題,但通常最好嘗試在 JMP 中以交互方式執行此操作。 您甚至可以通過 Recode 平台讓 JMP 為您做 Titlecase:

或創建新的公式列:

並且使用 JMP16 執行相當多的操作,您可以從增強的日誌中找到輕鬆自動化該過程。