如何基于多个组合框选择进行子集化<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />大家好,
我正在尝试编写一个脚本,根据动态组合框中的两个选项创建子集。看起来对话框部分很好,因为我选择它们时保存了变量,但实际生成的子集不起作用。
/ *暂时删除打开的数据库部分* /
clearGlobals():
ER_Temp =打开(“C:\ Users \ Kilik \ Desktop \ Tbl_RIE_ERS.jmp”);
/ *在集合“a”中提取一组独特电影,在集合“b”中提取独特工具* /
总结(a = By(:Film));
插入(a,“<选择电影>”,1);
总结(b = By(:Tool));
插入(b,“<选择工具>”,1);
/ *创建一个对话框* /
新窗口(“示例”,
<<模态,
H列表框(
/ *创建一个从中选择电影的框* /
面板盒(“选择一部电影:”,
cb1 =组合框(
一个,
<< SetFunction(
功能({this},
myFilm = this << Get Selected();
)
)
)
)
/ *创建一个框,从中选择工具* /
面板框(“选择工具:”,
cb2 =组合框(
b,
<< SetFunction(
功能({this},
myTool = this << Get Selected();
)
)
)
)
)
);
//根据两个选择创建一个子集
ER_Temp << clearRowStates;
ER_Temp << selectWhere((:Film == myFilm)&(:Tool == myTool));
Selection = ER_Temp << Subset(输出表名称(“selection”)));
谢谢,
大卫
Re:如何基于多个组合框选择进行子集化嗨,大卫。
在这个例子中,myFilm和myTool都是字符串。 在选择Where Where时,如果:Film或:Tool是数字列,则不会选择任何行,因为数字列不可能具有字符串值。 Num()函数将表示为字符串的数字(例如,“12”)转换为数字值。
另一件需要考虑的事情是,在新窗口中进行选择的数据中可能没有匹配的值。 向用户呈现以下所有唯一值:胶片和工具的唯一值,但这并不意味着每个值:胶片的每个值:工具在数据中表示。 Select Where()语句仅选择两个条件均为true的行。
希望有所帮助。
温迪
Re:如何基于多个组合框选择进行子集化您的子语句中有一个额外的括号。 另外,我会避免让变量和表具有相同的名称。 将其更改为:
Select_dt = ER_Temp << 子集 ( 输出表名称 ( “选择” ) ,选定的行 ( 1 )) ;