Conmutador de columnas: agregar/eliminar líneas de referencia dinámicamenteHola,
Tengo una plataforma de distribución que utiliza un conmutador de columnas que se completa con columnas de una variable de lista. Cada una de estas columnas representa un parámetro de calidad diferente y, por lo tanto, tiene límites diferentes que se recopilan a partir de una consulta SQL.
¿Existe alguna forma de agregar dinámicamente líneas de referencia a la plataforma de distribución a medida que el conmutador de columnas cambia de columna? En este momento, tengo un SendToReport ejecutándose en un bucle para cada elemento, pero termina con las líneas de referencia para todas las columnas agregadas a la vez, en lugar de solo las dos necesarias para cada columna.
Una manera fácil de hacer esto sería si el conmutador de columnas admitiera una secuencia de comandos "al cambiar la columna". Luego podría eliminar las líneas de referencia anteriores y agregar las nuevas cada vez que cambie. No pude encontrar ninguna información de índice de secuencias de comandos para saber si se admite algo como esto.
Versión JMP: 14
has_limits = {"item 1", "item 2", "item 3"};
dist = dt << Distribution(
Continuous Distribution( Column( "item 1" ), Horizontal Layout( 1 ), Always use column properties( 1 ), Vertical( 0 ), Outlier Box Plot( 0 ) ),
Column Switcher( "item 1", has_limits )
);
For( n = 1, n <= N Items( has_limits ), n++,
tempUCL = Col Max( Column( dt, has_limits[n] || "_UCL" ) );
tempLCL = Col Max( Column( dt, has_limits[n] || "_LCL" ) );
Eval(
Eval Expr(
dist << SendToReport(
Dispatch(
{Expr( has_limits[n] )},
"1",
ScaleBox,
{Add Ref Line( Expr( tempUCL ), "Dashed", "Medium Dark Red", "UCL", 1 ), Add Ref Line(
Expr( tempLCL ),
"Dashed",
"Medium Dark Red",
"LCL",
1
)}
)
)
)
);
); Automatización y secuencias de comandosRe: Conmutador de columnas: agregar/eliminar líneas de referencia dinámicamenteParece que el controlador de cambio de columna no se agregó hasta JMP 16.

Re: Conmutador de columnas: agregar/eliminar líneas de referencia dinámicamenteAquí hay un guión que lo lleva parcialmente allí.Por alguna razón, elimina los valores del Eje, pero si puede probarlo con sus datos, es posible que pueda descubrir cómo hacer que funcione correctamente.El código fue desarrollado usando JMP 14.
names default to here(1);
dt = open("$SAMPLE_DATA/blood pressure.jmp");
has_limits = {"bp 8m", "bp 12m", "bp 6m"};
for(i=1,i<=nitems(has_limits),i++,
new column(has_limits[i] || "_UCL", values(matrix(quantile(.75,column(has_limits[i])<<GET values=""></GET>Re: Conmutador de columnas: agregar/eliminar líneas de referencia dinámicamenteGracias por esto. Aún no he descubierto los valores de los ejes que faltan, es muy extraño (también muestra un cursor de "carga") pero es al menos un paso en la dirección correcta.
Re: Conmutador de columnas: agregar/eliminar líneas de referencia dinámicamenteUna solución alternativa podría ser ejecutar su JSL y luego ir al Triángulo rojo en la ventana de salida del informe y seleccionar Guardar script.Guárdelo en una ventana de secuencia de comandos y luego ejecute la secuencia de comandos.Mis pruebas muestran que al código que crea JMP le faltan las etiquetas X Azis.
Envié el error al soporte de JMP.
Re: Conmutador de columnas: agregar/eliminar líneas de referencia dinámicamenteOtra solución que parece funcionar es agregar relleno (¿tal vez se esté empujando algo encima de axisbox?)

o habilite las marcas de graduación dentro del marco del gráfico desde la configuración del eje, aunque esto hace que el gráfico tenga un aspecto un poco extraño y creo que es posible que también desee habilitar las líneas de la cuadrícula.

