Modification des valeurs de colonne en fonction de la limite de spécification de colonneNous avons un test de phase qui aime parfois flopper la valeur de 360 degrés. Je voudrais un script qui puisse parcourir les données de la colonne de table, prendre une moyenne et ensuite la comparer à la LSL / USL. Si le signe de la moyenne est opposé à la limite de spécification, ajoutez 360 à cette valeur.
Je ne peux pas faire une couverture If( :test < 0, t1 = :column + 360; t1; ) en raison de la façon dont le testeur gère les données.
J'ai joint un exemple de tableau et les deux dernières colonnes sont celles où se trouve mon problème.
Merci d'avance
Tableau de donnéesScriptRe : Modification des valeurs de colonne en fonction de la limite de spécification de colonneMerci monsieur Nelson.
J'ai dû modifier un peu le script. J'ai changé la multiplication en addition et changé la moyenne en médiane. Je n'ai pas tenu compte des échecs catastrophiques lorsque j'ai rédigé le message d'origine. Les colonnes 40 et 41 avaient des valeurs moyennes de col qui n'étaient pas comprises entre la LSL et l'USL.
Names Default To Here( 1 );
dt = Current Data Table();
colList = dt << get column names( continuous, string );
For( i = 1, i <= N Items( colList ), i++,
specs = Column( dt, colList[i] ) << get property( "spec limits" );
If( Is Missing( specs["LSL"] ) == 0 & Is Missing( specs["USL"] ) == 0,
If( !(specs["LSL"] <= Col Median( Column( dt, colList[i] ) ) <= specs["USL"]),
For Each Row( As Column( dt, colList[i] ) = 360 + As Column( dt, colList[i] ) )
)
);
);
Re : Modification des valeurs de colonne en fonction de la limite de spécification de colonneVoyez si ce petit script vous donne ce que vous voulez
Names Default To Here( 1 );
dt = Current Data Table();
colList = dt << get column names( continuous, string );
For( i = 1, i <= N Items( colList ), i++,
specs = Column( dt, colList[i] ) << get property( "spec limits" );
If( Is Missing( specs["LSL"] ) == 0 & Is Missing( specs["USL"] ) == 0,
If( !(specs["LSL"] <= Col Mean( Column( dt, colList[i] ) ) <= specs["USL"]),
For Each Row( As Column( dt, colList[i] ) = -1 * As Column( dt, colList[i] ) )
)
);
);