Eval(Eval Expr(数据过滤器框)中的单个类别显示祝大家新年快乐!
我偶然发现使用Eval(Eval Expr()使代码框具有通用性,这是一个漂亮的代码段,这意味着我可以只填充一个列表,并且该过滤框将代表给定数据表中的所有列。 在我的某些表中,我最多有25种不同的过滤器组合,我喜欢使用“单一类别显示”它们。 但是,当我使用Eval(Eval Expr(时,只有列表中的第一个名称获得了“单一类别”,其余的最终成为了列表。 有没有一种方法可以使它们全部归为一个类别?
我使用半导体功能数据表附加了一个示例脚本。 运行脚本时,您会在数据过滤器上下文框中(数据过滤器)看到,只有lot_id是单一类别,而不是晶圆。 我正在寻求将它们(或任何组合)都归为一个类别。
注意:感谢txnelson先生为我提供了分布图的实际表达方式。
提前致谢
脚本编写回复:一个类别中显示一个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" )
)
)
)
)
)
)
)
)
);回复:一个类别中显示一个Eval(Eval Expr(数据过滤器框谢谢Jarmo,我将在几分钟内尝试第1个。
第二个脚本的问题是filterCol [1],在任何给定的SQL查询中,该数字都可能是1-5。 因此,我为该数据过滤器上下文框为每种产品编写了单独的脚本。 为什么看到Expr(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(数据过滤器框第一个脚本工作完美。 非常感激。
回复:单个类别显示在一个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" ));