Ziemlich sicher ist dies eine einfache Lösung für diejenigen, die sich auskennen, aber ich hatte Mühe, es herauszufinden. Ich habe eine pass_fail-Spalte, wenn ich meine Grenzen erfülle und herausfinden muss, wie ich fehlenden Daten "Fail" zuweisen kann. Ich verwende dieselbe Tabelle, um Verteilungen darzustellen, so dass das Zuweisen einer Zufallszahl zu den fehlenden Daten Probleme verursachen kann.
Vielen Dank im Voraus
Column( dt_split, N Cols( dt_split ) ) << Set Property( "Wertelabels", {1 = "Pass", 0 = "Fail", -999 = "Fail" } );
colList = dt_split << Get Column Names( numeric, string );
foundCols = "";
i = 2;
For( i = 1, i <= N Items( colList ), i++,
Spec = Column( dt_split, colList[i] ) << Get Property( "Spec Limits" );
If( Is Empty( Spec ) == 0,
dt_split << New Column( (Column( dt_split, colList[i] ) << Get Name) || " Pass_Fail" );
If( Is Missing( Try( Spec["LSL"], . ) ) == 0,
dt_split << Select Where( As Column( dt_split, colList[i] ) < Spec["LSL"] );
Try( Column( dt_split, N Cols( dt_split ) )[dt_split << get selected rows] = 0 );
);
If( Is Missing( Try( Spec["USL"], . ) ) == 0,
dt_split << Select Where( As Column( dt_split, colList[i] ) > Spec["USL"], Current Selection( "Extend" ) );
Try( Column( dt_split, N Cols( dt_split ) )[dt_split << Get Selected Rows] = 0 );
);
Wait( 0.5 );
dt_split << Invert Row Selection;
Wait( 0.5 );
ColNotes = Eval( test ) || "_" || "PassFail";
Try( Column( dt_split, N Cols( dt_split ) )[dt_split << Get Selected Rows] = 1 );
Column( dt_split, N Cols( dt_split ) ) << Set Property( "Value Labels", {1 = "Pass", 0 = "Fail", -999 = "Fail" } );
Column( dt_split, N Cols( dt_split ) ) << Set Property( "Value Ordering", {1, 0} );
Column( dt_split, N Cols( dt_split ) ) << Set Property( "Description", "PASS_FAIL" );
Column( dt_split, N Cols( dt_split ) ) << Set Property( "Notes", ColNotes );
If( foundCols == "",
foundCols = ":Name(\!"" || (Column( dt_split, colList[i] ) << Get Name) || " Pass_Fail\!")",
foundCols = foundCols || ", " || ":Name(\!"" || (Column( dt_split, colList[i] ) << Get Name) || " Pass_Fail\!")"
);
);
dt_split << Clear Select;
);
col << Set Property( "Wertlabels", {1 = "Pass", 0 = "Fail", 999 = "Fail"} );
Wenn Sie es versuchen, verwenden Sie Wertlabels für fehlende Werte. Sie sollten das direkt in der Set-Eigenschaft verwenden können:
col << Set Property( "Value Labels", {. = "Fail", 1 = "Pass", 0 = "Fail", 999 = "Fail"} );Bearbeiten:
Auch wenn bei diesen 999 bereits Daten mit "Zufallszahl" fehlen? Sie können auch die Spalteneigenschaft Fehlende Wertcodes verwenden, um sie vor der Analyse auszublenden:

Set Property("Missing Value Codes", {999})