Cambie los límites de especificación dinámicamente y haga que los gráficos se actualicen en consecuenciaAdjunto encontrará una tabla de datos de muestra y una secuencia de comandos de muestra que utilizo que permite al usuario cambiar la columna y actualizar los gráficos en consecuencia. Me gustaría agregar un cuadro de visualización adicional que le permita al usuario cambiar los Límites de especificación de propiedades de columna y actualizar los gráficos. Sería algo así como Process Capability Analysis << Gráfica de capacidad interactiva, pero en lugar de una barra deslizante sería un cuadro de columna de edición de números para LSL, USL, Target.
Espero haberle explicado bastante bien lo que estoy buscando.
Gracias
GráficosScriptingRe: Cambiar los límites de especificación dinámicamente y hacer que los gráficos se actualicen en consecuenciaProbablemente debería agregar un segundo cuadro de esquema debajo del cuadro de esquema de Prueba de RF, con los cuadros de edición de números para USL, Target y LSL. Dado que está cambiando posiblemente 3 valores diferentes, probablemente agregaría un cuadro de botón en el que se debe hacer clic para actualizar el gráfico.Re: Cambiar los límites de especificación dinámicamente y hacer que los gráficos se actualicen en consecuenciaEse era el plan, sin embargo, me gustaría que el cuadro se actualice con el "^ ycols_Test ^" actual y luego que el número de cuadros de edición se actualice con la propiedad de la columna Límites de especificación. ¿Necesito agregar los nuevos cuadros dentro de "\ [gb_expr_Test [^ i ^] o crearía uno nuevo para contener los cuadros?"
Re: Cambiar los límites de especificación dinámicamente y hacer que los gráficos se actualicen en consecuenciaEsa sección es la JSL que produce la salida de Distribución. Así que no es ahí donde agregar las nuevas cajas. La sección a la que me refería es la sección que define el cuadro de esquema para la prueba de RF.Re: Cambiar los límites de especificación dinámicamente y hacer que los gráficos se actualicen en consecuencia¡Gracias! He estado buscando en estos foros y parece que no puedo encontrar una manera de completar inicialmente el cuadro de edición de cualquier número con los límites de especificaciones actuales enumerados en la propiedad de la columna.
Si ejecuta el nuevo script adjunto, verá que el cuadro de edición de texto "Prueba" se rellena automáticamente con la columna actual seleccionada para la distribución. Cuando esto suceda, me gustaría que el script pueda recuperar los límites de especificaciones actuales y completar el LSL, Target, USL (si corresponde). Entonces puedo poner nuevos límites de especificaciones y luego presionar el botón "Cargar nuevos límites de especificaciones" y luego la propiedad de columna "Límites de especificaciones" se actualizaría con los nuevos números. También me gustaría poder almacenar los límites de especificaciones anteriores y luego, cuando termine, reasignarlos a la columna.
Re: Cambie los límites de especificación dinámicamente y haga que los gráficos se actualicen en consecuenciaNo miré todo tu código. Pero con respecto a ' Parece que no puedo encontrar una manera de completar inicialmente el cuadro de edición de cualquier número con los límites de especificaciones actuales enumerados en la propiedad de la columna. ', este código antiguo podría ayudar:
// ian.cox@jmp.com: 02Jun2005
NamesDefaultToHere(1);
// ******************************************************************************************
// Given a column reference, returns the spec limits in a vector, [lower, upper, target]:
// If a limit is not defined it is returned as .
// ******************************************************************************************
getSpecs = Function({col}, {Default Local},
// Note that the number of arguments in slp below can change! It can be 0 (if the
// property is not even defined) or 1, 2 or 3
slp = col << GetProperty("Spec Limits");
// Assume that nothing is defined . . .
l = .; u = .; t = .;
// Find out what is defined . . .
for(i=1, i<=NArg(slp), i++,
thisExpr = Arg(slp, i);
sType = Char(Head(thisExpr));
if (
sType == "LSL", l = Arg(thisExpr, 1),
sType == "USL", u = Arg(thisExpr, 1),
sType == "Target", t = Arg(thisExpr, 1)
)
);
Matrix({l, u, t})
);
dt = Open("$SAMPLE_DATA/Semiconductor Capability.jmp");
someSpecs = getSpecs(Column(dt, "NPN1"));
nw =
NewWindow("Edit Spec Limits",
lsBox = TextEditBox(someSpecs[1]),
usBox = TextEditBox(someSpecs[2]),
tarBox = TextEditBox(someSpecs[3])
);