添加包含一个条件异常的最终测试结果列。我如何添加最终测试结果列,但下面提到一个例外。

我很抱歉一遍又一遍地问同一类型的问题。
感谢您
基础数据分析与建模回复:添加包含一个条件异常的最终测试结果列。这是我想出的公式。请务必研究并理解它。如果您对此有疑问,请返回社区进行澄清。
If( Col Max( Col Sum( :Result == "Pass", :SN, :Run ), :SN ) == Col Number( 1, :SN, :Run ),
val = "Pass",
val = :Result[Col Min( If( :Result != "Pass" & :Final test check == 1, Row(), . ), :SN )];
If( val == "Bin10" & Col Sum( :Result == "Bin3", :SN ),
val = "Bin3"
);
);
val;

回复:添加包含一个条件异常的最终测试结果列。谢谢吉姆,
对于小数据集,这非常有效。当我在实际数据(4000 行)上使用它时,执行时间太长了。有什么方法可以让它更快吗?
回复:添加包含一个条件异常的最终测试结果列。看看这是否可以加快速度。
这不是一个公式,而是一个 JMP 脚本。
打开一个新的 JMP 脚本窗口,并将以下脚本粘贴到该窗口中。
打开要处理的数据表,或者如果已经打开,只需单击它即可使其成为当前数据表。
返回脚本窗口并运行脚本。
它将在当前数据表中创建一个新列。
Names Default To Here( 1 );
dt = Current Data Table();
dt << New Column( "theRow", set each value( Row() ) );
Wait( 0 );
dts = dt << Subset( invisible, By( :SN ), All rows, Selected columns only( 0 ), selected columns( 0 ) );
For Each( {d}, dts,
d << New Column( "calculated wanted column",
character,
formula(
If( Col Max( Col Sum( :Result == "Pass", :Run ) ) == Col Number( 1 ),
val = "Pass",
val = :Result[Col Min( If( :Result != "Pass" & :Final test check == 1, Row(), . ), :SN )];
If( val == "Bin10" & Col Sum( :Result == "Bin3" ),
val = "Bin3"
);
);
val;
)
);
dt << Update(
With( d ),
Match Columns( :theRow = :theRow ),
Replace Columns in Main Table( :calculated wanted column )
);
Close( d, nosave );
);<BR />dt << delete columns(theRow);

回复:添加包含一个条件异常的最终测试结果列。谢谢吉姆,
它更快了。