Hola todos,
He estado trabajando en esta idea durante la semana pasada y @gzmorgan0 me ayudo con esta publicacion
https://community.jmp.com/t5/Discussions/creating-an-index-for-columns-to-point-to-the-graph/mp/71555#M35439
digamos, por ejemplo, recorro 5 columnas continuas y 2 columnas nominales, trazo un análisis unidireccional de 10 columnas (digamos nw2). Obtengo el valor p y otros parámetros en una tabla. Quiero la tabla ordenada en orden ascendente de valor p. ¿Puedo tener mi tabla en una nueva ventana (nw1) y cada una de las filas (ya que la fila tiene los ejes X e Y apropiados relacionados con el gráfico) en la tabla debe hacer referencia al gráfico apropiado en el nw2? ¿Es Table Box (Cuadro de columna de tabla de datos) la estrategia correcta o hay alguna otra función que debería considerar?
Agradezco cualquier aporte/comentario/sugerencia.
Names Default To Here( 1 );
dt = Open( "$Sample_Data/Big Class.jmp" );
ynames = {"weight", "height"};
xnames = {"sex", "age"};
pnames = {};
nw2 = New Window( "Custom Display", vl = V List Box() );
nw2 << Size Window( 724, 395 );
For( i = 1, i <= N Items( ynames ), i++,
For( j = 1, j <= N Items( xnames ), j++,
Insert Into( pnames, ynames[i] || " by " || xnames[j] );
vl << Append(
Oneway(
Y( Column( dt, ynames[i] ) ),
X( Column( dt, xnames[j] ) ),
Box Plots( 1 ),
Comparison Circles( 0 ),
X Axis Proportional( 0 ),
Means Diamonds( 1 ),
Points Jittered( 1 ),
SendToReport(
Dispatch(
{},
"Oneway",
OutlineBox,
{Set Title( Eval Insert( "^ynames[i]^ ^xnames[j]^ Comparison Report" ) )}
)
)
)
);
); //end for j
); //end for i
plb = List Box( pnames, width( 100 ), maxSelected( 1 ) );
nw1 = New Window( "Filter", plb );
_xx = (nw2 << Child) << xpath( "//OutlineBox[@helpKey='Oneway Report']" );
plb << Set Function(
Function( {this},
k = (this << get Selected Indices)[1];
nw2 << Scroll Window( _xx[k] );
)
);
nw1 << Bring Window to Front;
nw2 << Bring Window to Front;
nw1 << Move Window( 10, 10 );
nw2 << move Window( 180, 10 );
//Add a try in case the window is already closed
nw2 << On close( Try( nw1 << Close Window() ) );Sí, pensé que un visor de una sola ventana sería lo mejor y tuve el mismo problema de que la ventana de desplazamiento no funcionaría para un cuadro de desplazamiento anidado. Lo informé a JMP para que los desarrolladores estén al tanto del problema.JMP Support proporcionó el script adjunto que demuestra el uso de << Get Offset para encontrar la posición de manera más confiable.
gzmorgan parece haber respondido a su pregunta, pero me envió un mensaje privado, así que pensé en dar más detalles sobre el cuadro de desplazamiento.Se adjunta una edición de la implementación de gzmorgan para usar una ventana en lugar de dos.
La desventaja del cuadro de desplazamiento es que no es compatible con el comando << Scroll Window() por alguna razón.
Esto tomó un poco más de lo que documenté.Se adjunta un script de muestra.
Realmente no entiendo su pregunta, su código parece hacer lo que está pidiendo.Sin embargo, nunca haría que una ventana afectara los resultados de una segunda ventana.Le sugiero que coloque tanto el filtro como los diagramas unidireccionales en la misma ventana, y puede dividirlos con un cuadro de desplazamiento.