创建用于交互式用户输入的下拉菜单<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />我有一个关于 JMP 脚本编写的问题。 我正在使用 JMP 11。 我想在 JMP 中创建交互式脚本。 该脚本将包含以下元素 -
1. 脚本将显示一条消息,要求用户选择一个文档。 用户将选择一个文档名称。
2. 根据该选择,其余脚本将根据用户选择的文档执行查询并创建相关图表和表格。
我知道如何在 JMP 中实现#2。 对于#1,我知道如何显示文本框并让用户自己输入整个文档名称,但这会给手动错误带来机会,并且如果输入错误的名称,其余查询将无法工作。
因此,我认为对文档表的数据库查询会将所有活动文档作为下拉列表显示给用户,并且用户将仅选择所显示的文档之一。 可以在 JMP 脚本中执行吗?
我查看了使脚本具有交互性的脚本编写手册,但我看到的唯一选项涉及让用户输入整个文本。 所以想和你确认一下。
预先非常感谢您!
回复:为交互式用户输入创建下拉菜单只是稍微扩展一下约翰·庞特的帖子。这是我收到的一个例子王克并且经常修改。
/* 打开样本数据表 */
dt = Open( "$SAMPLE_DATA\Big Class.jmp" );
/* 提取唯一年龄的列表 */
Summarize( a = By( :age ) );
插入( a, "<选择年龄>", 1 );
/* 创建模态对话框 */
新窗口(“示例”,
<<莫代尔,
H 列表框(
/* 选择年龄后,用相应的名称填充第二个组合框 */
面板框(“选择年龄:”,
cb1 = 组合框(
A,
<<设置函数(
函数({这个},
选择 = this << 获取选定内容();
r = dt << 获取行Where( :age == Num( 选择 ) );
年龄姓名 = :姓名;
插入(ageNames,“<选择名称>”,1);
cb2 << 设置项目( 年龄名称 );
)
)
)
),
/* 打印日志中两个 ComboBox 中选定的值 */
面板框(“选择名称:”,
cb2 = 组合框(
{“<选择名称>”},
<<设置函数(
函数({这个},
that=this<< 获取选择();
打印(选择,即)
)
)
)
)
)
);
sel=num(选择)
回复:为交互式用户输入创建下拉菜单要在 JSL 中创建下拉列表,您所需要做的就是创建一个列表和一个组合框。 以下是一些 JSL 示例:
我的列表= {
“<选择一个>” ,
“一” ,
“二” ,
“三” ,
“四” ,
“五”
} ;
列表选择=表达式(
选择=我的列表框<<获取选择;
展示(选择) ;
) ;
我的列表框=组合框(我的列表,列表选择) ;
赢=新窗户( 「演出清单」 ,我的列表框) ;
运行此命令,您将在窗口中看到一个下拉列表。 当您做出选择时,它将在日志中显示您选择的内容。
现在的问题是你如何建立你的清单? 如果您的文档是存储在目录中的文件,我可以向您展示一些 JSL 来从目录创建列表。 但听起来你的文档在数据库中? 如果是这样的话,那么我想你可以查询数据库并获得一个列表。 然后使用该列表创建组合框,如图所示。 不过,我还没有使用数据库编写任何脚本,因此我在该领域的知识很薄弱。
这回答了你的问题了吗? 或者您需要查询数据库方面的帮助吗?