我不確定這是否可能。我正在嘗試添加最終結果列。我想輸出第一個故障模式。此外,如果設備通過重新測試,我需要通過結果。

有沒有可能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();
這將為您建立“確定”列,您可以從中獲取公式
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 並稍微修改列編號(或更好地將其變更為列總和為 1),這可能就足夠了
If(Col Max(Col Sum(:Bin == "Pass", :SN, :Run), :SN) == Col Number(1, :SN, :Run),
"Pass"
,
:Bin[Col Min(If(:Bin != "Pass", Row(), .), :SN)]
)