Hallo, ich verliere mich bei der Implementierung verschachtelter If-Anweisungen in JSL:
dt1:Run Validity <<
Set Formula(
If( (:Sample Name == "NTC" & (:Target Name == "MIX 1 A" | :Target Name == "MIX 2 B" | :Target Name == "MIX 2 C" | :Target Name == "MIX 2 D" | :Target Name == "MIX 3 F" |
:Target Name == "MIX 3 G" | :Target Name == "MIX 3 H" | :Target Name == "MIX 4 I" | :Target Name == "MIX 4 J")), If( (:CT == "Undetermined"), "Pass", "Fail")),
If( (:Sample Name == "PC" & :Target Name == "MIX 1 A"), If( (1 < :CT_numeric < 5), "Pass", "Fail")),
If( (:Sample Name == "PC" & :Target Name == "MIX 2 B"), If( (3 < :CT_numeric < 4), "Pass", "Fail")),
If( (:Sample Name == "PC" & :Target Name == "MIX 2 C"), If( (2 < :CT_numeric < 5), "Pass", "Fail")),
If( (:Sample Name == "PC" & :Target Name == "MIX 2 D"), If( (1 < :CT_numeric < 4), "Pass", "Fail")),
If( (:Sample Name == "PC" & :Target Name == "MIX 3 E"), If( (1 < :CT_numeric < 3), "Pass", "Fail")),
If( (:Sample Name == "PC" & :Target Name == "MIX 3 F"), If( (4 < :CT_numeric < 5), "Pass", "Fail")),
If( (:Sample Name == "PC" & :Target Name == "MIX 3 G"), If( (3 < :CT_numeric < 6), "Pass", "Fail")),
If( (:Sample Name == "PC" & :Target Name == "MIX 4 H"), If( (1 < :CT_numeric < 4), "Pass", "Fail")),
If( (:Sample Name == "PC" & :Target Name == "MIX 4 I"), If( (2 < :CT_numeric < 5), "Pass", "Fail")),
If( (:Sample Name != "PC" & (:Target Name == "MIX 1 IC" |:Target Name == "MIX 2 IC" | :Target Name == "MIX 3 IC" | :Target Name == "MIX 4 IC")), If((1 < :CT_numeric < 4), "Pass", "Fail"))
);
Im Wesentlichen möchte ich für Zeilen mit dem Probennamen = NTC und dem Zielnamen einen von Mix 1 A, Mix 1 B ... wenn CT unbestimmt ist, geben Sie ihn zurück, wenn er nicht fehlschlägt
Gibt es einen besseren Weg, dies mit if-Anweisungen zu tun? Oder können Sie mir sagen, wo ich falsch liege?
Vielen Dank