如何在 5 点汇总表中的单独列中获取规格限值?下面的示例脚本以我需要的格式为我提供了 5 项摘要。但是,我还想在最终的“摘要”数据表中的两个单独列中获取每个参数(分析列下)的规格限值(LSL 和 USL)?如何通过 JSL 获取?
此外,如果不使用 Tabulate (),是否有另一种/更好的方法来做我需要的事情?
Names Default To Here( 1 );
Clear Log();
dt = Open( "$SAMPLE_DATA/Semiconductor Capability.jmp" );
col_names = dt << Get Column Group( "Processes" );
(dt << Tabulate(
Show Control Panel( 0 ),
Add Table(
Column Table( Statistics( Min ) ),
Column Table( Statistics( Mean, Median ) ),
Column Table( Statistics( Max ) ),
Column Table( Statistics( Std Dev ) ),
Row Table(
Grouping Columns( :lot_id, :wafer, :Wafer ID in lot ID ),
Analysis Columns(
Eval( col_names )
)
)
)
)) << Make Into Data Table;
自动化和脚本视窗回复:如何在 5 点汇总表中的单独列中获取规格限制?您可以使用管理限制系统来做您想做的事情
Names Default To Here( 1 );
Clear Log();
dt = Open( "$SAMPLE_DATA/Semiconductor Capability.jmp" );
col_names = dt << Get Column Group( "Processes" );
(tab = dt << Tabulate(
Show Control Panel( 0 ),
Add Table(
Column Table( Statistics( Min ) ),
Column Table( Statistics( Mean, Median ) ),
Column Table( Statistics( Max ) ),
Column Table( Statistics( Std Dev ) ),
Row Table(
Grouping Columns( :lot_id, :wafer, :Wafer ID in lot ID ),
Analysis Columns(
Eval( col_names )
)
)
)
)) << Make Into Data Table;
dtTab = current data table();
tab << close window;
procCols = Associative Array(dtTab:Analysis Columns << get values) << get keys;
obj = dt << Manage Limits(
Process Variables ( eval(procCols) )
);
obj << Save to Tall Limits Table;
dtLimits = current data table();
obj << close window;
try( window("Consistency Problem") << close window );
dtTab << Update(
with( dtLimits ),
Match Columns( :Analysis Columns = :Variable ),
Add Columns from Update Table( :LSL, :Target, :USL)
);

回复:如何在 5 点汇总表中的单独列中获取规格限制?@txnelson谢谢。我的 JMP 16.2 出现错误

回复:如何在 5 点汇总表中的单独列中获取规格限制?如果您使用变量而不是依赖当前数据表,可能就足够了。至少在 JMP17.2 中,制表 << 制作成数据表和 << 保存高限表都会返回对表的引用
Names Default To Here(1);
Clear Log();
dt = Open("$SAMPLE_DATA/Semiconductor Capability.jmp");
col_names = dt << Get Column Group("Processes");
tab = dt << Tabulate(
Show Control Panel(0),
Add Table(
Column Table(Statistics(Min)),
Column Table(Statistics(Mean, Median)),
Column Table(Statistics(Max)),
Column Table(Statistics(Std Dev)),
Row Table(
Grouping Columns(:lot_id, :wafer, :Wafer ID in lot ID),
Analysis Columns(
Eval(col_names)
)
)
)
);
dttab = tab << Make Into Data Table;
tab << close window;
procCols = Associative Array(dtTab:Analysis Columns << get values) << get keys;
obj = dt << Manage Limits(Process Variables(Eval(procCols)));
dtlimits = obj << Save to Tall Limits Table;
obj << close window;
Try(Window("Consistency Problem") << close window);
dtTab << Update(
with(dtLimits),
Match Columns(:Analysis Columns = :Variable),
Add Columns from Update Table(:LSL, :Target, :USL)
);回复:如何在 5 点汇总表中的单独列中获取规格限制?@jthi在 JMP 16.2 上出现此错误
Object 'Data Table' does not recognize the message 'Manage Limits'; <BR />perhaps you mean one of these: <<MANAGE spec="" limits=""><<ITEM analysis=""><<FACTOR><<COMBINE columns...=""><<MAKE indicator=""><<NEW><<PASTE columns=""><<MARKERS><<SELECT matching="" cells=""><<GET rows=""><<MAXIMIZE display=""><<MOVE scripts=""><<RENAME table="" script=""><<MATCHED pairs=""><<MULTIVARIATE><<NORMAL mixtures=""><<CAPABILITY><<PARALLEL plot.="" there="" is="" no="" other="" opened="" data="https://community.jmp.com/" to="" update="" the="" current="" table.="" empty=""></PARALLEL></CAPABILITY></NORMAL></MULTIVARIATE></MATCHED></RENAME></MOVE></MAXIMIZE></GET></SELECT></MARKERS></PASTE></NEW></MAKE></COMBINE></FACTOR></ITEM></MANAGE>
Changing Manage Limits () to Manage Spec Limits () gives me another error.
<SPAN class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Neo_0-1726217735617.png" style="width: 400px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="Neo_0-1726217735617.png" style="width: 385px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="Neo_0-1726217735617.png" style="width: 385px;"><span class="lia-inline-image-display-wrapper" image-alt="Neo_0-1726217735617.png" style="width: 385px;"><img src="https://us.v-cdn.net/6038925/uploads/images/68217i191CDFCAD2681B08/Neo_0-1726217735617.png" role="button" title="Neo_0-1726217735617.png" alt="Neo_0-1726217735617.png" /></span></SPAN></SPAN></SPAN>
回复:如何在 5 点汇总表中的单独列中获取规格限制?也许这在 JMP16.2 中不起作用。您必须对表执行不同类型的检查。如果我没记错的话,Get Data Table List() 是一个相当强大的选项,最新的表总是第一个
回复:如何在 5 点汇总表中的单独列中获取规格限制?我修改了代码,删除了“管理限制”部分,并将其改为一段简单的 JSL,通过从原始表中读取限制来创建限制表。看看这是否有效
Names Default To Here( 1 );
Clear Log();
dt = Open( "$SAMPLE_DATA/Semiconductor Capability.jmp" );
col_names = dt << Get Column Group( "Processes" );
(tab = dt << Tabulate(
Show Control Panel( 0 ),
Add Table(
Column Table( Statistics( Min ) ),
Column Table( Statistics( Mean, Median ) ),
Column Table( Statistics( Max ) ),
Column Table( Statistics( Std Dev ) ),
Row Table(
Grouping Columns( :lot_id, :wafer, :Wafer ID in lot ID ),
Analysis Columns(
Eval( col_names )
)
)
)
)) << Make Into Data Table;
dtTab = current data table();
tab << close window;
procCols = Associative Array(dtTab:Analysis Columns << get values) << get keys;
// Create a limits table
dtLimits = new table("Limits",
new column("Variable", character),
new column("LSL"),
New column("Target"),
New column("USL")
);
For Each({col}, procCols,
specs = column(dt, col) << get property("Spec Limits");
if(isList(specs),
dtLimits << add rows(1);
dtLimits:Variable[nrows(dtLimits)] = col;
dtLimits:LSL[nrows(dtLimits)] = specs["LSL"];
dtLimits:Target[nrows(dtLimits)] = specs["Target"];
dtLimits:USL[nrows(dtLimits)] = specs["USL"];
)
);
dtTab << Update(
with( dtLimits ),
Match Columns( :Analysis Columns = :Variable ),
Add Columns from Update Table( :LSL, :Target, :USL)
);