Cambiar los valores de la columna según el límite de especificaciones de la columnaTenemos una prueba de fase que a veces le gusta hacer caer el valor en 360 grados. Me gustaría un script que pueda mirar a través de los datos de la columna de la tabla, tomar un promedio y luego compararlo con el LSL / USL. Si el signo del promedio es opuesto al límite de especificación, agregue 360 a ese valor.
No puedo hacer un If (: test <0, t1 =: column + 360; t1;) general debido a la forma en que el tester maneja los datos.
He adjuntado una tabla de muestra y las dos últimas columnas son donde está mi problema.
Gracias por adelantado
Tabla de datosScriptingRe: cambio de valores de columna según el límite de especificación de columnaVea si este pequeño guión le da lo que quiere
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] ) )
)
);
);
Re: cambio de valores de columna según el límite de especificación de columnaGracias Sr. Nelson.
Tuve que modificar un poco el guión. Cambié la multiplicación a la suma y cambié la media a la mediana. No tuve en cuenta las fallas catastróficas cuando hice la publicación original. Las columnas 40 y 41 tenían valores medios de columna que no estaban entre el LSL y el 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] ) )
)
);
);