应用中滤波器组选择器的范围<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />你好,
我有一个关于Application Builder的问题(在JMP 11中)。
我有两个'滤镜选择器'和两个表。现在我希望能够使用Filter Col Selector1选择table1的列,使用Filter Col Selector2选择table2的列。
如果过滤器col选择器位于不同的模块中,我就能实现这一点。如果在模块启动之前将“当前数据表”设置为相应表,则可以根据需要使用。
但是现在我想在同一个模块中同时使用两个过滤器列选择器。
到目前为止,我没有成功,我的所有测试都使用相同的表(当前数据表)进行过滤器选择器。
有没有一种方法,过滤器列选择器可以使用不同的表,尽管它们在同一个模块中?
问候
彼得
Re:应用中滤波器列选择器的范围嗨丹,
谢谢,使用JMP 11.2一切都按预期工作。
问候
彼得
Re:应用中滤波器列选择器的范围嗨,彼得,
JMP 11的初始版本中存在一个错误,该错误特别影响了此类应用程序的保存/恢复。 该错误已在JMP 11.2中修复,并且需要您重新创建应用程序以使保存的版本正确。
-担
Re:应用中滤波器列选择器的范围PS:我有JMP 11.0.0
Re:应用中滤波器列选择器的范围嗨丹,
非常感谢您的回复。
我已经按照你描述的方式尝试过,但无法让它可靠地工作。我的例子也有同样的问题。
我稍微修改了你的例子,请看附件。我刚刚将两个表的位置更改为“完整路径”。如您所见,FilterCol1链接到Data Table1,FilterCol2链接到Data Table2。
然而,它并没有像我预期的那样奏效。这个应用程序在我完成更改之后和保存之前就已正常工作。但是,如果现在为两个Filter Col选择器打开保存的应用程序,则始终使用当前数据表(如果没有其他表或打开,则为“Big Class”)。
这里可以重现:如果你从头开始创建应用程序或修改你的例子,那么应用程序运行正常。但是,如果保存,关闭并重新打开应用程序,则筛选器列选择器始终使用当前数据表而不是指定的数据表。
我究竟做错了什么?或者这可能是一个错误?
问候
彼得
Re:应用中滤波器列选择器的范围附件是一个示例应用程序,它使用筛选器列选择器作为样本数据SATByYear(DataTable1)和Big Class(DataTable2)。
当您打开.jmpappsource表时,您将获得用于创建应用程序的表。 如果您打开.jmpapp文件(或选择运行应用程序从JMP Application Builder中,DataTable1将使用Current Data Table,DataTable2将是Big Class。
Re:应用中滤波器列选择器的范围嗨,彼得,
在这种情况下,可能更容易避免从模块脚本中调用当前数据表。 在JMP应用程序中,数据表对象具有控制其初始化的“位置”属性。 添加到应用程序的第一个数据表(默认名称为DataTable1)的位置为当前数据表 ,基本上与以下相同:
DataTable1 =当前数据表();
由于应用程序运行时只能有一个当前数据表,因此后续表的位置设置为名称 ,如果表名已经打开,它将匹配表名,或者如果没有带有此名称的打开表,则使用存储的路径打开文件。
为了创建您描述的JMP应用程序,您将需要按照以下步骤操作:
- 打开表1
- 将Filter Col Selector添加到应用程序
- 打开表2(如果已打开则打开电流)
- 将Filter Col Selector添加到应用程序
您可能已经按照此过程进行操作 - 步骤3非常重要,因为它告诉App Builder您要使用两个不同的表。 完成此操作后,DataTable1和DataTable2位置将如上所述。 现在,当您运行应用程序时,您将希望当前数据表为表1。 您可以使用表2的当前数据表运行应用程序,但DataTable1和DataTable2都将引用同一个表(这是获取您描述的结果的一种方法)。
您可能不希望任何表使用当前数据表()。 您可以将DataTable1 Location属性更改为名称 ,路径 (从特定路径打开),提示 (弹出一个对话框来映射表格)或脚本 (从Application脚本手动设置变量)。 根据您的应用,各种位置组合可能有意义。
使用所需的表初始化行为创建应用程序后,您将需要在应用程序脚本中使用DataTable1,DataTable2等。 这将使应用程序与当前数据表()的更改隔离开来。
希望有所帮助!
-担