從另一個腳本取得類別。這對我目前的情況非常有幫助
已解決:從另一個腳本呼叫一個腳本 - JMP 用戶社區
我可以從主腳本呼叫一個腳本。我調用的腳本將類別應用於目標資料集,我希望能夠在我調用的腳本中形成一個類別列表,並將其應用於主腳本。以下是呼叫腳本的快照,可以迭代幾個參數和類別,我想要主表中可用的類別清單。
Try((Column( "Parameter") << Set Selected(1););
dt << group columns( "ENG" );
dt << deselect column group( "ENG" );):
自動化和腳本回覆:從另一個腳本取得類別。您是否只是運行 Include,來運行其他腳本檔案?它有表情/功能嗎?您希望提供哪些類別以及如何提供它們?
回覆:從另一個腳本取得類別。我確實使用 Include 來運行其他腳本,該腳本將類別應用於表格列。取得我需要的另一種方法是在完成的表中列出類別。
回覆:從另一個腳本取得類別。類別在哪裡?你說的類別是什麼意思?應如何將它們添加到主表中?
回覆:從另一個腳本取得類別。每個具有規格的測量都屬於測試組織定義的類別。有些類別是拒絕的,這意味著它們對於通過至關重要,其他類別是工程的,這意味著它們很有趣,但對於通過來說並不重要。
回覆:從另一個腳本取得類別。如果我正確理解了您的帖子,那麼您調用的腳本似乎正在透過建立多個列組在您的資料表中建立「類別」。這些列組將有諸如「拒絕」、「工程」、「等等…」之類的名稱。
執行呼叫的腳本後,您可以使用「取得列組名稱」功能從資料表中取得列組清單。範例如下:
names default to here(1);
dt = current data table();
categoryList = dt << get column groups names;
show(categoryList);
更進一步,在您獲得類別清單後,您可以循環遍歷清單並使用「取得列組」功能來取得每個列組內的所有測試測量列的清單。以下是一個例子:
names default to here(1);
dt = current data table();
categoryList = dt << get column groups names;
for( k = 1, k <= n items( categoryList ), k++,
show( categoryList[k] );
colList = dt << get column group( categoryList[k] );
print( colList );
);回覆:從另一個腳本取得類別。好的!我使用類似的東西將訊息從下腳本傳送到主腳本。我正在用另一個腳本書寫下標。可能不是標準的,但我將腳本寫入包含規格限制的資料表的列中,將其複製為文字並貼上到腳本視窗中。似乎有效。
Spud = (":" || cnmes2[l]);
Spuds = Parse( Eval Insert( Spud ) );
Tabname = Char( dt );
//This section of the script devises a name for each script generated.
Tabname = Char( dt );
Show( Tabname );
name = Char( Column Name( l ) );
names = Char( "Spec Limits, Group and Notes Script " ) || Char( Tabname ) || Char( name );
Show( names );
Show( Spuds );
Ainim = Regex( names, "\!"", "", GLOBALREPLACE );
Show( Ainim );
link = Char(cats);
//Scripts are generated in 2 table columns "Address Data Table" and "Group with Notes and Spec Limits" before being pasted into a Script Window.
New Column( "Address Data Table",
Character,
"Nominal",
Formula(
If( Row() == 1,
"dt=Current Data Table();
Process_Script = " || "\!"" || Ainim || "\!"" || "; Show( Process_Script );
cats = " || link || "; Show( Process_Script );"
)
)
);
Column( "Address Data Table" ) << Delete Formula;For( l = Num(Start), l <= N Items( cnmes2 ), l++,
summarize(cats=by(cnmes2 [l] ));
delcats = {"", "-"};
For( i = 1, i <= N Items( delcats ), i++,
Remove From( cats, As List( Loc( cats, delcats[i] ) ) )
);
show(cats);