产量表我正在尝试使用具有嵌入规格限制的表来获取产量表。
不知何故,行数部分只显示零。有人知道我哪里做错了吗?
Clear Globals();
dt = Current Data Table();
dtYield = New Table( "Yield Table",
New Column( "Column Name", Character, "Nominal" ),
New Column( "Pass Count", Numeric, "Continuous" ),
New Column( "Fail Count", Numeric, "Continuous" ),
New Column( "Yield (Percent)", Numeric, "Continuous", Format( "Percent", 12 ) )
);
// Get all numeric columns
colList = dt << get column names( numeric, string );
// Loop across the columns and generate the test pass/fails
Try(For( i = 1, i <= N Items( colList ), i++,
spec = As Column( dt, colList[i] ) << get property( "Spec Limits" );
//Establish the Notes Value from the Parent Column
dt << clear select;
If( !Is Empty( specs ),
/* Extract spec limits */
lsl = spec["LSL"]; // Lower Spec Limit
usl = spec["USL"]; // Upper Spec Limit
/* Step 5: Evaluate pass and fail counts */
failCount = N Rows( dt << Get Rows Where( Column(dt, colList[i]) <= lsl)) + N Rows( dt << Get Rows Where( Column(dt, colList[i]) >= usl));
passCount = N Rows( dt << Get Rows Where( Column(dt, colList[i]) > lsl & Column(dt, colList[i]) < usl ) );
/* Step 6: Calculate yield */
yield = 100 * passCount / (passCount + failCount);
Show(yield);
/* Step 7: Add results to the yield table */
dtYield << Add Rows(1);
dtYield:Column Name[ N Rows( dtYield ) ] = As Column(colList[i]) << Get Name();
dtYield:Pass Count[ N Rows( dtYield ) ] = passCount;
dtYield:Fail Count[ N Rows( dtYield ) ] = failCount;
dtYield:Yield (Percent)[ N Rows( dtYield ) ] = yield;
);
);<BR />);
自动化和脚本回复:收益表我想到这个,如果有人有更好的建议?
Clear Globals();
dt = Current Data Table();
dtYield = New Table( "Yield Table",
Add Rows(1),
New Column( "Column Name", Character, "Nominal" ),
New Column( "Pass Count", Numeric, "Continuous" ),
New Column( "Fail Count", Numeric, "Continuous" ),
New Column( "Yield", Numeric, "Continuous" ),
);
// Get all numeric columns
colList = dt << get column names( numeric, string );
SpecCols ={};
For Each({colnames, index}, colList,
spec = Column(dt, colnames) << get property( "Spec Limits" );
If( !Is Empty( spec ), Insert Into (SpecCols, colnames)));
// Loop across the columns and generate the test pass/fails
For Each({colnames, index}, SpecCols,
spec = Column(dt, colnames) << get property( "Spec Limits" );
lsl = spec["LSL"]; // Lower Spec Limit
usl = spec["USL"]; // Upper Spec Limit
failCount = N Rows( dt << Get Rows Where((As Column(dt, colnames)[]<LSL>usl)));
passCount = N Rows( dt << Get Rows Where((As Column(dt, colnames)[]>lsl) & (As Column(dt, colnames)[]<USL></USL></LSL>回复:收益表对其进行调整以获得可选择的产量阈值。
ex = New Window( "Enter % Pass Threshold",
<<MODAL>usl)));
passCount = N Rows( dt << Get Rows Where((As Column(dt, colnames)[]>lsl) & (As Column(dt, colnames)[]<USL></USL></MODAL>
回复:收益表你好呀,
如果您正在使用规格限制和产量表,实际上有一个简短的教程,展示了如何在没有脚本的情况下完成此操作 - 以防您正在寻找一种更易于使用的方法。
https://www.youtube.com/watch?v=1CjmA2hZhdg&t=315s
YieldOptiX 是一款基于 JMP 的插件,可自动处理规格限值、生成良率汇总和分箱报告。它通常用于测试数据,但其原理同样适用于任何包含规格和测量值的结构化数据集。
如果您有兴趣在自己的工作流程之外探索一些更关键的东西,我只是想与您分享。