为交互式用户输入创建下拉菜单<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");
/* 提取唯一年龄列表 */
总结(a = By(:age));
Insert Into(a, "", 1 );
/* 创建一个模态对话框 */
新窗口(“示例”,
<<模态,
H 列表框(
/* 选择年龄后,用相应的名称填充第二个 ComboBox */
Panel Box("选择年龄:",
cb1 = 组合框(
一个,
<<设置函数(
函数({这个},
选择=这个<<获取选择();
r = dt << Get Rows Where( :age == Num( selection ) );
年龄名称=:名称;
插入(ageNames,“<选择名称>”,1);
cb2 << 设置项目(ageNames);
)
)
)
),
/* 打印日志中两个 ComboBox 中选择的值 */
面板框(“选择一个名称:”,
cb2 = 组合框(
{"<选择名称>"},
<<设置函数(
函数({这个},
that=this<< 被选中();
打印(选择,那个)
)
)
)
)
)
);
sel=num(选择)
回复:为交互式用户输入创建下拉菜单要在 JSL 中制作下拉列表,您只需创建一个 List 和一个 Combobox。 这是一些示例 JSL:
我的列表= {
“<选择一个>” ,
“一” ,
“二” ,
“三” ,
“四” ,
“五”
} ;
列表选择=表达式(
选择=我的列表框<<被选中;
节目(选择) ;
) ;
我的列表框=组合框(我的列表,列表选择) ;
赢=新窗户( “显示列表” ,我的列表框) ;
运行它,您将在一个窗口中看到一个下拉列表。 当您做出选择时,它将在日志中显示您选择的内容。
现在的问题是你如何建立你的名单? 如果您的文档是存储在目录中的文件,我可以向您展示一些 JSL 以从目录中创建列表。 但听起来您的文档在数据库中? 如果是这种情况,那么我认为您可以查询数据库并获取列表。 然后使用该列表创建组合框,如图所示。 我没有使用数据库编写任何脚本,所以我在这方面的知识很薄弱。
这回答了你的问题了吗? 或者您在查询数据库方面需要帮助吗?