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