Modifica dei valori delle colonne 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 che possa 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 riesco a fare un blanket 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 della colonnaVedi 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] ) )
)
);
);
Oggetto: Modifica dei valori delle colonne in base al limite delle specifiche della colonnaGrazie signor Nelson.
Ho dovuto modificare un po 'lo script. Ho cambiato la moltiplicazione in addizione e ho cambiato la media in Mediana. Non ho tenuto conto di errori catastrofici quando ho scritto il post originale. Le colonne 40 e 41 avevano valori medi di colonna 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] ) )
)
);
);