拆分數據表功能中,如何在“剩餘列”中輸入變量?你好,
我正在製作一個腳本,其中用戶使用 GUI 輸入列,然後腳本拆分輸入表並製作一些相關圖。 用戶輸入與常規 JMP Split 函數所需的輸入非常相似。 我的拆分代碼如下所示,其中 remcol = "Drop all" 或 remcol="Keep all",具體取決於用戶輸入。
Splitdt = dt << Split(
Split(Eval(parcollist)), // the column to split
Group(Eval(grpcollist)),
ColID(Eval(splitcoln)),
Remaining Columns(<FONT color="#FF0000">Eval(RemCol)</FONT>),
Output Table Name((dt<<GET name=""></GET>上面的腳本不起作用,但這有效。
Splitdt = dt << Split(
Split(Eval(parcollist)), // the column to split
Group(Eval(grpcollist)),
ColID(Eval(splitcoln)),
Remaining Columns(<FONT color="#FF0000">"Drop all"</FONT>),
Output Table Name((dt<<GET name=""></GET>現在我的問題是,如何將用戶對剩餘列的偏好作為變量輸入? 如果我輸入變量,它不起作用,但鍵入會起作用。 不幸的是,這會剝奪腳本的靈活性,這就是為什麼我更喜歡使用變量作為輸入。
謝謝,
夏伊拉
Re: 在拆分數據表功能中,如何在“剩餘列”中輸入變量?謝謝@gzmorgan0 ! 這非常有幫助。
我正在使用 JMP12,但我認為我正在閱讀舊文檔,這就是我使用 ColID 的原因。
雖然對於 RemCol 表達式,Char() 函數不起作用。 有效的是下面的表達:
RemColExpr=Expr(Parse("Keep("||Concat Items(ColSellist,",")||")"))Re: 在拆分數據表功能中,如何在“剩餘列”中輸入變量?您使用的是哪個版本的 JMP?我知道 JMP 9 及更高版本使用 Split By() 與 Col ID()
如果您有更舊版本的 JMP,我不確定這是否有效。
Eval( EvalExpr( Splitdt = dt << Split(
Split(Expr(parcollist)), // the column to split
Group(Expr(grpcollist)),
ColID(Expr(splitcoln)),
Remaining Columns(Expr(RemCol)),
Output Table Name((dt<<GET name=""></GET>您可以將 Eval() 保留在“列表”變量周圍,但是,我使用 Expr() 來使語法一致。
注意:如果您決定允許用戶選擇要保留的列,我假設會有一個名為 keepColList 的名稱或列引用列表。 然後你可以使用類似這樣的東西來定義上面腳本的剩餘列。
remcol = Expr(Parse("Keep(" ||char(keepColList) || ")"));