根據標題中包含的單字選擇列我有一個想要執行的分析,但我需要根據標題中包含的單字選擇幾列,然後才能執行此操作,目前我手動執行此操作,但這非常慢,如果我不小心。
在圖像範例中,我想選擇以「什麼顏色」開頭的 2 列,但不選擇其他 4 列。 它們可以分佈在其他列中,並且每個實驗的數量會有所不同。 一旦選擇,我就可以提取它們並進行分析。
這需要自動完成,不需要任何用戶輸入,我找不到任何執行此操作的 jsl,但我確信它一定存在,只是我無法找到它或不知道正確的腳本術語。

問候
大衛
自動化和腳本編寫回覆:根據標題中包含的單字選擇列謝謝!回覆:根據標題中包含的單字選擇列Contains() 函數不會傳回 0 或 1 的布林值,它會傳回找到比較的字元位置。
嘗試使用
Contains( colList[i], "N" ) > 0
回覆:根據標題中包含的單字選擇列我嘗試使用此腳本來選擇列名稱中間包含字串的列。當我將“P”或“PN”放入 contains() 中時,它可以工作,但當我插入“N”或“NP”或“NP3”時,它不起作用。
謝謝
For( i = 1, i <= N Items( colList ), i++,
If(
// Put in any selection criteria you want
//Left( colList[i], 2 ) == "PN" ,
// or it could be
Contains( colList[i], "N" ) == 1
,
Column( dt, colList[i] ) << set selected
)
);
回覆:根據標題中包含的單字選擇列非常感謝,這很完美
回覆:根據標題中包含的單字選擇列考慮到“無用戶輸入”的要求,我認為這不會增加任何內容。 但我想藉此機會提到列過濾在互動工作時非常方便(並且很容易被忽略)。 有時人們使用腳本是因為他們認為透過使用者介面「很難」。
「Filter Col Selector」也是可編寫腳本的:
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
New Window( "Filter Col Selector Example", fcs = Filter Col Selector( DataTable("Big Class") ));
// See what messages the 'Filter Col Selector' understands
ShowProperties(fcs);
// Try it out
Print(fcs << GetItems);
Wait(3);
fcs << NameContains("ei");
Print(fcs << getItems);回覆:根據標題中包含的單字選擇列這是一種非常簡單的方法來滿足您的要求,並且可以擴展到更複雜的要求
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/semiconductor capability.jmp" );
colList = dt << get column names( string );
dt << clear column selection;
For( i = 1, i <= N Items( colList ), i++,
If(
// Put in any selection criteria you want
Left( colList[i], 2 ) == "PN" ,
// or it could be
// contains( colList[i], "PN") == 1,
Column( dt, colList[i] ) << set selected
)
);
If( N Items( dt << get selected columns ) > 0,
dtSelected = dt << subset( selected rows( 0 ), selected columns( 1 ) )
);