Modifica dei valori della colonna in base al limite delle specifiche della colonnaAbbiamo un test di fase a cui a volte piace floppare il valore di 360 gradi. Vorrei uno script in grado di esaminare i dati della colonna della tabella, prendere una media e quindi confrontarla con LSL / USL. Se il segno della media è opposto al limite delle specifiche, aggiungi 360 a quel valore.
Non posso fare una coperta If( :test <0, t1 = :column + 360; t1; ) a causa del modo in cui il tester gestisce i dati.
Ho allegato una tabella di esempio e le ultime due colonne sono dove si trova il mio problema.
grazie in anticipo
Tabella datiScriptingOggetto: modifica dei valori delle colonne in base al limite delle specifiche delle colonneGrazie signor Nelson.
Ho dovuto modificare un po' la sceneggiatura. Ho cambiato la moltiplicazione in addizione e la media in mediana. Non ho tenuto conto di fallimenti catastrofici quando ho pubblicato il post originale. Le colonne 40 e 41 avevano valori medi di col che non erano compresi tra LSL e 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] ) )
)
);
);
Oggetto: modifica dei valori delle colonne in base al limite delle specifiche delle colonneVedi se questo piccolo script ti dà quello che vuoi
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] ) )
)
);
);