Bien sûr, il s'agit d'une solution simple pour ceux qui "savent" cependant, j'ai eu du mal à le comprendre. J'ai une colonne pass_fail quand je fais mes limites et j'ai besoin de comprendre comment attribuer "Fail" aux données manquantes. J'utilise la même table pour tracer les distributions, donc l'attribution d'un nombre aléatoire aux données manquantes pourrait causer des problèmes.
Merci d'avance
Column( dt_split, N Cols( dt_split ) ) << Set Property( "Value Labels", {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 << Définir la propriété( "Étiquettes de valeur", {1 = "Réussi", 0 = "Échec", 999 = "Échec"} );
Si vous essayez d'utiliser des étiquettes de valeur pour les valeurs manquantes. vous devriez pouvoir l'utiliser directement dans la propriété Set :
col << Set Property( "Value Labels", {. = "Fail", 1 = "Pass", 0 = "Fail", 999 = "Fail"} );Éditer:
De plus, si ces 999 manquent déjà de données avec un "nombre aléatoire" ? vous pouvez également utiliser la propriété de colonne Missing Value Codes pour les masquer de l'analyse :

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