Cambiador de columnas, filtro de datos locales y línea de referencia actualizada automáticamenteCreé un gráfico de barras con el generador de gráficos y quiero aplicar un filtro de datos local, un conmutador de columnas y una línea de referencia al gráfico. ¿Es posible cambiar automáticamente el filtro de datos locales y la línea de referencia según la columna seleccionada? En este momento, mi línea de referencia recién completada desaparece cuando cambio de columna. Tengo 2 columnas posibles para seleccionar, Cpk y Ppk. Quiero incluir una línea de referencia en Cpk = 1.333 y Ppk = 1.333, las cuales se muestran actualmente. De manera similar, quiero agregar un filtro de datos local para mostrar solo valores entre el valor mínimo de Cpk/Ppk y un valor máximo de 1,5 según la columna que se muestre. ¿Es posible hacer esto en el generador de gráficos simple mediante una secuencia de comandos o tendré que buscar en un tablero/aplicación? Esto es lo que tengo actualmente:
Graph Builder(
Size( 534, 464 ),
Show Control Panel( 0 ),
Variables(
X( :Feature ID, Order By( :Cpk , Ascending, Order Statistic( "Mean" ) ) ),
Y( :Cpk )
),
Column Switcher( :Cpk , {: Cpk , :Ppk }),
Elements( Bar( X, Y, Legend( 4 ) ) ),
Local Data Filter(
Add Filter( columns( :Cpk ), Where( :Cpk >= floor(Col Min(:Cpk )) & :Cpk <= 1.5 ) )
),
SendToReport(
Dispatch(
{},
"Cpk ",
ScaleBox,
{Add Ref Line( 1.333, "Solid", "Red", "", 3 )}
),
)
);Gráficossecuencias de comandosRe: Cambiador de columnas, filtro de datos locales y línea de referencia actualizada automáticamenteOk gracias no te preocupes!
Estoy usando el software de la empresa, así que no creo que pueda actualizarlo, así que tendré que pensar en una forma diferente de mostrar los datos. Supongo que me encontraré con un problema similar si intento simplemente cambiar los límites del eje según la columna seleccionada, en lugar de intentar actualizar el filtro de datos local. SaludRe: Cambiador de columnas, filtro de datos locales y línea de referencia actualizada automáticamenteEl primer problema con la ejecución del script en JMP 13 es que lo que se devuelve desde el
ColSwitcher << obtener actual
no es una cadena literal, por lo que debe cambiarse a
char (ColSwitcher << obtener actual)
pero cuando uno hace eso, JMP entra en un ciclo infinito
Creo que se trata de un error conocido y está relacionado con el momento en que el cambio del selector de columnas llama al script Agregar gráficos.
Intenté un montón de cosas, pero no pude encontrar una solución. Actualizar a 15 es la única opción que estoy seguro de que lo arreglará.Re: Cambiador de columnas, filtro de datos locales y línea de referencia actualizada automáticamenteHola,
Cuando copié eso en un script, parece que no funciona correctamente. El gráfico tiene un mensaje de error que indica "Errores informados de la secuencia de comandos de gráficos en el registro". Y el error informado en el registro indica 'Nombre no resuelto: peso{21} en acceso o evaluación de 'peso', peso/*###*/'. Estoy usando JMP 13, no sé si esto puede ser un problema.
Logré agregar una línea de referencia que permanece en 1.333 independientemente de lo que se muestra en el eje y de la siguiente manera:
obj = dt_sum << Graph Builder(
Size( 534, 464 ),
Show Control Panel( 0 ),
Variables(
X( :Feature ID, Order By( :Cpk, Ascending, Order Statistic( "Mean" ) ) ),
Y( :Cpk)
),
Column Switcher( :Cpk, {: Cpk, :Ppk}),
Elements( Bar( X, Y, Legend( 4 ) ) ),
);
Report(obj)[FrameBox(1)] <<
Add Graphics Script(
1, Description( "Pen Script"),
Pen Color("red");
Pen Size(3);
Y Function(1.333, Feature ID);
);Sin embargo, todavía no estoy seguro de cómo vincular el conmutador de columnas con un filtro de datos local para que solo se muestren y actualicen los valores por debajo de un cierto valor y cuando se cambia la columna.
Re: Cambiador de columnas, filtro de datos locales y línea de referencia actualizada automáticamenteSí, es posible hacer lo que quieras.Aquí hay un ejemplo simple
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/big class.jmp" );
gb = dt << Graph Builder(
Size( 534, 456 ),
Show Control Panel( 0 ),
Variables( X( :age ), Y( :weight ) ),
Elements( Points( X, Y, Legend( 3 ) ), Smoother( X, Y, Legend( 4 ) ) )
);
ColSwitcher = gb << Column switcher( :weight, {:weight, :height} );
Report( gb )[framebox( 1 )] << add graphics script(
theCol = ColSwitcher << Get Current;
If(
theCol == "weight",
Report( gb )[AxisBox( 2 )] << add ref line(
Col Mean( :weight ),
"solid",
red,
"Mean",
2
),
theCol == "height",
Report( gb )[AxisBox( 2 )] << add ref line(
Col Mean( :height ),
"solid",
red,
"Mean",
2
)
);
);