☐ 很酷的新功能
☐ 可以幫助很多用戶!
☐ 刪除一個“錯誤”
☐ 很高興擁有
☑ 沒人需要
對於表格框,有一個很好的命令
<< add row( list of values)
添加行。 作為論據,可以提交一個值列表 - 非常優雅並且對骯髒的編碼很有用:)
https://community.jmp.com/t5/Discussions/Collection-of-quot-funny-quot-JSL-newbie-questions/mp/559027/highlight/true#M77229
命令
<< add row( ... )
甚至可以發送到數據表。 然後添加一行,但不幸的是,沒有價值觀。
正如 Jarmo 發現的那樣,有一種方法可以指定值,但要復雜得多:尤其是當數據表具有多個列時:
https://community.jmp.com/t5/Discussions/Collection-of-quot-funny-quot-JSL-newbie-questions/mp/559070/highlight/true#M77235
dt << Add Row({"Column 1"n = 1});
我的希望:
像這樣的命令
<< add row( list of values)
這也適用於數據表。
嗯,如果用戶沒有證明預期的值,JMP 中還有許多其他函數會出現問題;)
另一方面,一次性添加行和值會非常容易,只需將值列表移交給數據表——就像表格框一樣。
Add Rows 如此嚴格可能是有原因的。
當用戶沒有添加足夠的值時,您希望該命令如何運行? 你最終會得到非常凌亂的桌子
Names Default To Here(1);
New Window("test",
tb = Table Box(String Col Box("string col", {"a"}), Number Col Box("number col", {1}))
);
tb << add row({"b"});
tb << add row({"b", 2});

您已經可以使用數據表下標來做到這一點(這是我不時使用的,如果我必須將值添加到全部列):
Names Default To Here(1);
dt = New Table("test",
New Column("Col1", Numeric),
New Column("Col2", Numeric),
);
dt << Add Rows(1);
dt[N Rows(), 0] = [1 2];
dt << Add Rows(1);
dt[N Rows(), 0] = [1];
第二個會拋出,因為你試圖向行添加的值少於列

使用自定義函數可以處理這個問題,但是如何知道從哪一側刪除值呢? 左,右還是中間? 或者如果數據類型不匹配會發生什麼?