JMP18
我正在尝试根据从组合框中选择的值对表进行子集化。我有两组相互作用的组合框,我将它们称为 cb1 和 cb2(父组合框),以及 subCB1 和 subCB2(子组合框)。父组合框 cb1 和 cb2 构成数据表 dt_SUM 的列,然后每列下的数据分别填充其对应的子组合框 subCB1 或 subCB2 的选项。
组合框选择和 dt_SUM 数据表看起来像这样:
cb1:水果 subCB1:苹果
cb2:颜色 subCB2:红色
总计
| 水果 | 颜色 | 计数 (N) |
| 苹果 | 绿色的 | 5 |
| 番茄 | 红色的 | 2 |
| 番茄 | 绿色的 | 6 |
| 苹果 | 红色的 | 8 |
我正在尝试根据组合框和子组合框的选择对 dt_SUM 表进行子集化。例如,我希望新表 dt_COUNT 仅显示与 Apple 和 Red 对应的行。我尝试过几种方法,但主要是通过尝试传播包含通过 subCB1 选择过滤 cb1 列的表达式的列表。
selectedConditions = List();
If(cb1 != "Select Parameter", Insert Into( selectedConditions, Expr(Column(dt_SUM, cb1) == subCB1 ) ) );
If(cb2 != "Select Parameter", Insert Into( selectedConditions, Expr(Column(dt_SUM, cb2) == subCB2 ) ) );
SOPmean;
SOPMean = Expr(
dt_MEAN = dt_SUM << Subset(
Filtered rows( selectedConditions ),
Selected columns only( 0 ),
columns( :Count ),
output table name ( "count")
)
);
cb1 != “选择参数”涵盖最多 5 个组合框,默认设置为“选择参数”,因此如果没有变化则不希望它们参与。
我尝试了在表达式中添加 Char( 和 << Get selected 的各种版本,但仍然无法成功打印 {:Fruit == "Apple", :Color == "Red"}。感谢您的帮助。