Eval( Eval Expr( 数据过滤框) 内的单个类别显示祝大家新年快乐!
我偶然发现了一段漂亮的代码,使用 Eval( Eval Expr( 使过滤器框本质上通用,这意味着我可以只填充一个列表,过滤器框将代表给定数据表中的所有列。 在我的一些表格中,我有多达 25 种不同的过滤器组合,我喜欢使用“单一类别显示”它们。 但是,当我使用 Eval( Eval Expr( 时,只有列表中的第一个名称获得“单一类别”,其余的最终成为一个列表。 有没有办法让我把它们全部变成一个类别?
我附上了使用半导体能力数据表的示例脚本。 当您运行脚本时,您将在数据过滤器上下文框(数据过滤器)中看到只有lot_id是单一类别,而不是晶圆。 我正在寻求将它们(或任何组合)单一类别。
注:感谢 txnelson 先生帮助我绘制分布图的实际表达式。
提前致谢
质量和工艺工程回复:Eval( Eval Expr( 数据过滤框) 内的单个类别显示再次感谢好心的先生,成功了
回复:Eval( Eval Expr( 数据过滤框) 内的单个类别显示在 for 循环中你可以使用这样的东西:
for(i = 1, i <= N Items(filterCol), i++,
dtFilter << Display(filterCol[i], Size( 188, 16 ), Height( 16 ), "Single Category Display");
curFilter = dtFilter << Get Filter Column(filterCol[i]);
curFilter << Clear Find;
);
回复:Eval( Eval Expr( 数据过滤框) 内的单个类别显示关于数据过滤器中“查找”功能的快速问题。 您可以禁用它还是默认在单个类别显示中显示一定数量的项目?回复:Eval( Eval Expr( 数据过滤框) 内的单个类别显示我感觉上面的 JSL 可能过于复杂。 你可以这样做:
NamesDefaultToHere(1);
dt = Open( "$sample_data/Semiconductor Capability.jmp" );
// Columns to filter by (in a list)
filterCol = {"lot_id", "wafer"};
// Example report
dist = dt << Distribution(
Stack( 1 ),
Continuous Distribution(
Column( :NPN1 ),
Quantiles( 0 ),
Horizontal Layout( 1 ),
Vertical( 0 ),
Process Capability( Use Column Property Specs )
),
Automatic Recalc( 1 )
);
// Add a data filter
df = dist << Local Data Filter(Add Filter(columns( Eval(filterCol) )));
// Change the display format of all the filter variables
for(c=1, c<=NItems(filterCol), c++, df << Display( Eval(filterCol[c]), "Single Category Display" ));
回复:Eval( Eval Expr( 数据过滤框) 内的单个类别显示第一个脚本完美运行。 非常感激。
回复:Eval( Eval Expr( 数据过滤框) 内的单个类别显示事实上,您似乎只需在 Display() 中省略 Expr( filterCol ) 即可做到这一点:
Eval(
Eval Expr(
dfcb100_S = Data Filter Context Box(
filter100_S = H List Box(
graph_vlb100_S = V List Box(
Lineup Box( N Col( 1 ),
Border Box( Sides( 15 ),
dt << Data Filter(
Local,
Mode( Show( 0 ) ),
Add Filter(
Columns( Expr( filterCol ) ),
Display(Size( 188, 16 ), Height( 16 ), "Single Category Display")
)
)
)
)
)
)
)
)
);回复:Eval( Eval Expr( 数据过滤框) 内的单个类别显示谢谢 Jarmo,我会在几分钟内尝试第一个。
第二个脚本的问题是filterCol[1],在任何给定的SQL 查询中该数字可能是1 - 5。 因此,我为每个产品的数据过滤器上下文框编写了一个单独的脚本。 为什么当我看到 Expr( Eval Expr(.
回复:Eval( Eval Expr( 数据过滤框) 内的单个类别显示您可以像这样进行轻微修改(注意 Eval 中的 dtFilter 变量):
Eval(
Eval Expr(
dfcb100_S = Data Filter Context Box(
filter100_S = H List Box(
graph_vlb100_S = V List Box(
Lineup Box( N Col( 1 ),
Border Box( Sides( 15 ),
dtFilter = dt << Data Filter(
Local,
Mode( Show( 0 ) ),
Add Filter(
Columns( Expr( filterCol ) )
)
)
)
)
)
)
)
)
);
for(i = 1, i <= N Items(filterCol), i++,
dtFilter << Display(filterCol[i], Size( 188, 16 ), Height( 16 ), "Single Category Display" )
);我认为添加过滤器可能不允许您同时添加多个显示器,因为这也有效:
Eval(
Eval Expr(
dfcb100_S = Data Filter Context Box(
filter100_S = H List Box(
graph_vlb100_S = V List Box(
Lineup Box( N Col( 1 ),
Border Box( Sides( 15 ),
dt << Data Filter(
Local,
Mode( Show( 0 ) ),
Add Filter(
Columns( Expr( filterCol ) ),
Display( Expr( filterCol[1] ), Size( 188, 16 ), Height( 16 ), "Single Category Display" ),
Display( Expr( filterCol[2] ), Size( 188, 16 ), Height( 16 ), "Single Category Display" )
)
)
)
)
)
)
)
)
);