JSL 和報告的正確引用各位,
我正在編寫一個需要引用報告窗口的腳本。 具體來說,我試圖自動化的是使用一些參數估計的 Simulate() 函數。 我知道在這份報告中,我需要將 Simulate 命令發送到 Number Col Box(8)。
我遇到的問題是我有一個主用戶界面窗口,用戶可以在其中單擊按鈕框來模擬參數估計或引導它們。 問題是,在主窗口中(見下圖),當用戶單擊任一按鈕框時,我的腳本中有一個命令,我試圖獲取當前報告,該報告在另一個窗口中打開。

報告窗口:

但是,當您單擊該按鈕時,JSL 命令 obj = Current Report() 返回對主界面窗口的引用,而不是我實際嘗試引用的報告。 如果我單擊報告窗口然後運行腳本,它就會起作用。
obj = Current Report();
NBSnum = NBS << Get;
RSnum = RS << Get;
obj[Number Col Box( 8 )] << Simulate(
NBSnum,
Random Seed( RSnum ),
Out( :ColumnA ),
In( :ColumnB )
);
我沒有成功地在腳本索引中找到正確的解決方案,也沒有成功地搜索如何正確引用報告,以便用戶只需單擊主窗口中的按鈕框。
任何想法都值得讚賞。 我想這應該很容易,但我現在很困惑。
謝謝!,
DS
自動化和腳本編寫基礎數據分析和建模數據探索和可視化回复:JSL 和報告的正確引用這可能會給你一些關於你可以做什麼的想法
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Penicillin.jmp");
dt << Fit Model(
Freq(:Count),
Y(:Response),
Effects(:"ln(dose)"n),
Personality(Generalized Linear Model),
GLM Distribution(Binomial),
Link Function(Logit),
Run
);
report_windows = Get Window List("Report");//; << Get Window Title
report_of_interest = Empty();
For Each({report_window}, report_windows,
outline_title = Try(report_window[OutlineBox(1)] << get title, "");
If(Starts With(outline_title, "Generalized Linear "),
report_of_interest = report_window;
break();
);
);
ref = report_of_interest[OutlineBox(1)] << Get Scriptable Object;
我認為您還可以使用窗口列表來確定最後打開的窗口(如果我沒記錯的話,它是最後一個)。
回复:JSL 和報告的正確引用你好@jthi ,
很好的建議,它確實有效——事實上,只需獲取report_of_interest就足夠了,然後我可以調用report_of_interest[Number Col Box(8)]並將其發送到Simulate或Bootstrap命令。 效果很好!
謝謝您的幫助!,
DS