你好,
我是 JMP 腳本編寫的新手,一直在嘗試為給定要使用的資料表的特定流程編寫腳本。為了幫助解釋我想要什麼,這裡有一個粗略的範例表。

我想要做的是編寫一個腳本,該腳本將迭代檢查“步驟名稱”列中的每一行的值“睡眠”。當它到達“睡眠”行時,它將檢查“速度”列下的相應值。然後,我希望腳本檢查“速度”列下共享相同值的所有先前行。雖然它在“速度”列下共享相同的值,但隨後它將檢查“材料”列下的現有值。如果「Material」下存在一個值,它將採用該值和「Speed」下的對應值並將它們輸出到一個新表中,如下所示:

我有一個想法,這需要一個廣泛的 For 循環,但我不知道如何處理它。我將非常感謝有關如何編寫此腳本的任何建議。謝謝
僅根據您的範例數據,僅刪除所有缺少材料的行並將步驟名稱的所有值設為睡眠就足夠了嗎?
我相信是的,這應該足以刪除缺少材料的行,同時將步驟名稱的剩餘值設為睡眠。我將如何為此編寫腳本?
這也可以透過 JMP 以互動方式完成,但對我來說將其編寫為腳本會更快,所以就在這裡。請注意,它的表與您的表有點不同(不同的列名稱和值)。
Names Default To Here(1);
dt = New Table("Untitled",
Add Rows(10),
Compress File When Saved(1),
New Column("Step", Character, "Nominal", Set Values({"W", "E", "P", "F", "S", "C", "W", "P", "S", "F"})),
New Column("S", Character, "Nominal", Set Values({"F", "F", "F", "F", "F", "S", "S", "S", "S", "S"})),
New Column("M", Character, "Nominal", Set Values({"", "F", "", "P", "", "", "S", "G", "", ""}))
);
wait(1); // demo purposes
dt << Select Where(Is Missing(:M)) << Delete Rows; // << Get Rows Where() / << Where() are generally faster than select where
wait(1); // demo purposes
Column(dt, "Step") << Set Each Value("S");我修改了這個腳本以適合我在數據表中的使用,它看起來不錯,非常感謝!