我不确定这是否可行。我正在尝试添加最终结果列。我想在其中输出第一个故障模式。此外,如果设备通过了重新测试,我需要通过结果。

SN 有可能从好变坏重新测试吗?
编辑:
假设没有
Names Default To Here(1);
dt = Open("$DOWNLOADS/Sample1.jmp");
dt << new column("OK", Character, Nominal, Formula(
If(Col Max(Col Sum(:Bin == "Pass", :SN, :Run), :SN) == Col Number(:SN, :Run),
"Pass"
,
:Bin[Col Min(If(:Bin != "Pass", Row(), .))];
);
));
dt = Open("$DOWNLOADS/Sample2.jmp");
dt << new column("OK", Character, Nominal, Formula(
If(Col Max(Col Sum(:Bin == "Pass", :SN, :Run), :SN) == Col Number(:SN, :Run),
"Pass"
,
:Bin[Col Min(If(:Bin != "Pass", Row(), .))];
);
));
Write();
这将为您创建“OK”列,您可以从中获取公式
If(Col Max(Col Sum(:Bin == "Pass", :SN, :Run), :SN) == Col Number(:SN, :Run),
"Pass",
:Bin[Col Min(If(:Bin != "Pass", Row(), .))]
)
是的,你说得对。这应该不可能。但由于测试人员错误或仪器的 GRR 较差,这种情况是有可能发生的。可能性真的很低,我们现在可以忽略这种可能性。
您给出的解决方案确实适用于给定的示例。但是当我将其应用于多个 SN 时,它不起作用。

如果您在结果中添加 :SN 并稍微修改 Col Number (或者更好地将其更改为 col sum of one) 可能就足够了
If(Col Max(Col Sum(:Bin == "Pass", :SN, :Run), :SN) == Col Number(1, :SN, :Run),
"Pass"
,
:Bin[Col Min(If(:Bin != "Pass", Row(), .), :SN)]
)