我正在尝试创建一个对我的客户更友好的对话框模型框。 我没有使用单选框或复选框,而是使用 col 列表框来使用户界面更像 fit 模型中的对话框。 该脚本应该自定义图形和输出,以便在为给定产品的 PQA 从数据表 JSL 脚本生成输出时节省用户时间。
附件是一个 JMP 文件,其中包含一个带有基本列名称的玩具数据集,以及我在本文中引用的 JSL 脚本。
我有一个变量,用户将 col 输入到 set_resultcol 中。 set_resultcol 的这个值可以与任何数据集列标题一起使用(即数据集可以有“result”或“Result”或“Result (N)”或“Value”作为将要建模的连续数值变量的标题y 轴作为因变量。
但是,我遇到了一些问题,即 set_resultcol 值的表达式未在 col 列表框选项中的 y 轴脚本的重命名中表达,我一直在使用该选项使用户界面更加用户友好,即使我有尝试从 col 列表框结果列表中获取值,例如 {“Result”}[1]。 我对模态窗口中的 col 列表框的概念还很陌生,所以我希望我可以对我的 JSL 代码有更多经验,以帮助我确定可以做什么。
当我使用单选框时,set_resultcol 的结果值是一个字符串,可以在下面的 JSL 中引用它来将 y 轴重命名为 PQA(质量属性):

Names Default To Here( 1 );
dt = Current Data Table();
//part 1. ask user for column names in a new window nw1
//possible Group column name (should be character)
character_col_names = dt << Get Column names(character, String);
//possible result column name (should be numeric)
numeric_col_names = dt << Get Column names(Numeric, String);
nw1 = New Window("Set group by variable an",
<<MODAL></MODAL>结果图的 y 轴标签“结果”(例如)重命名为“A”(为简单起见,PQA 被称为“A”)。

我使用 col 列表框创建了以下模态对话框,通过拖放功能使模态对话框更加用户友好和美观,而不是一次显示所有列。 在此窗口下方,我有与这些 col 列表框相关的相应 JSL 代码。

Names Default To Here( 1 );
dt = Current Data Table();
nw1 = New Window("Set variables for stability model",
<<MODAL></MODAL>但是,结果图如下,在这个数据表中,y 轴上的“结果”为 y 轴名称,当 PQA “A”应该显示“A”时:

我知道 col 列表框正在生成变量列表,因为我在 JSL 脚本中有选项告诉我:
//is this set_resultcol a list? if so, show the contents.
Show(is list(set_resultcol)); // which gives 1 or “true” as shown in the log
Show(set_resultcol[1]); //which gives “Result” as shown in the log

这个不允许在数据集中引用的 JSL 脚本有什么问题? 我能做些什么来解决这个问题?
我能找到的与此问题相关的唯一文档是在“JMP 15 脚本指南”pdf 第 524、527-529 页中的 col 列表框,以及该手册中有关列表的部分。 我已经尝试过这些示例,但它们并没有告诉我任何我还不知道的事情。