Ich bin nicht sicher, ob das überhaupt möglich ist. Ich versuche, eine Spalte mit dem Endergebnis hinzuzufügen. Darin möchte ich den ersten Fehlermodus ausgeben. Auch wenn das Gerät einen erneuten Test besteht, muss ich als Ergebnis „Bestanden“ angeben.

Ist es möglich, dass SN erneut von gut auf schlecht getestet wird?
Bearbeiten:
Ausgehend von der Annahme, dass keine
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();
Dadurch wird die Spalte „OK“ für Sie erstellt, aus der Sie die Formel abrufen können
If(Col Max(Col Sum(:Bin == "Pass", :SN, :Run), :SN) == Col Number(:SN, :Run),
"Pass",
:Bin[Col Min(If(:Bin != "Pass", Row(), .))]
)
Ja, Sie haben Recht. Das sollte eigentlich nicht möglich sein. Aber es ist möglich, weil der Tester einen Fehler gemacht hat oder das Instrument eine schlechte GRR hat. Die Wahrscheinlichkeit ist wirklich gering und wir können diese Möglichkeit vorerst ignorieren.
Die von Ihnen angegebene Lösung hat für das angegebene Beispiel funktioniert. Aber als ich sie mit mehreren SNs anwandte, funktionierte sie nicht.

Es könnte ausreichen, wenn Sie dem Ergebnis :SN hinzufügen und die Spaltennummer leicht ändern (oder noch besser, sie in die Spaltensumme von eins ändern).
If(Col Max(Col Sum(:Bin == "Pass", :SN, :Run), :SN) == Col Number(1, :SN, :Run),
"Pass"
,
:Bin[Col Min(If(:Bin != "Pass", Row(), .), :SN)]
)