無法捕獲應用程序生成器中的列錶框選擇大家好,
我是 jmp 新手,我正在嘗試使用應用程序生成器。 我有一個帶有列錶框和兩個值“ER”和“IL”的啟動模塊。 一旦用戶按下按鈕,我希望能夠捕獲他們選擇的選項(如果有)。
由於某種原因,當我將“AnalysisSelected”打印到文本框中時,顯示的文本是“List”。 如果我選擇僅將“AnalysisSelected[1]”打印到文本框,它會起作用,但我希望能夠循環遍歷所選分析,並在將變量傳遞給 GraphBuilder 後採取適當的操作...
提前致謝!!

回复:無法在應用程序生成器中捕獲列錶框選擇你很接近了。一些注意事項:
- list(AnalysisSelected) 不執行任何操作,只是創建 {AnalysisSelected}。
- 為列錶框選擇返回一個列表
- 如果您嘗試將數字放入文本框中,則需要使用 char() 將其轉換為字符。
試試這個代碼:
analysis_list = analysistypes << get selected;
var = nitems(analysis_list);
if (var > 0,
analysisselected = analysis_list[1]; // Assumes you're restricting # choices to 1
,
error text << set text(char(var));
);
回复:無法在應用程序生成器中捕獲列錶框選擇列錶框是任何類型的顯示框的容器,可以垂直或水平順序顯示它們。AnalysisTypes 是單選框嗎?
據我所知,JSL 不使用面向對象語言的“this”/“self”/“me”約定,因此腳本的該部分沒有執行任何操作。
如果 AnalysisTypes 是單選框,Error Text 是文本框,則您的函數應如下所示:
RunAnalysis = function({},
AnalysisSelected = AnalysisTypes << Get Selected;
//show(AnalysisSelected);
Error Text << Set Text(AnalysisSelected);
);
“show(AnalysisSelected)”行已被註釋掉,但您可以取消註釋該行並查看日誌中該變量的值。這是一個非常方便的調試函數。
我使用此腳本在 App Builder 中附加了一個工作示例。
您說您是 JMP 的新手,我建議您在直接進入 App Builder 之前花時間學習 JSL 的基礎知識。對於新用戶來說,需要嘗試的東西有很多。Wendy Murphrey 和 Rosemary Lucas 編寫的 Jump Into JMP Scripting 是一本很棒的書,如果您打算經常使用 JSL,我強烈建議您購買這本書。幾年前我寫了一篇關於 Application Builder 的溫和介紹,您可能也會覺得有幫助: https://community.jmp.com/t5/Discussions/Gentle-Introduction-to-Application-Builder/mp/49629#M28232