Re: Cuadro de visualización: ¿Nivel?¿Qué hay de usar Obtener ruta de visualización ()? Get Display Path () obtiene una expresión relativa para navegar entre el cuadro principal y el objeto. Si desea contar la cantidad de padres para llegar al principal padre, intente seguir jsl.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
biv = dt << Bivariate( Y( :weight ), X( :height ), Fit Line );
rpt = Report( biv );
rootParent = rpt << Top Parent();
path_to_parent = rpt[number col Box( 9 )] << Get Display Path( rootParent, Mode( "Subscript" ) );
count = N Items( Words( Char( Eval Expr( path_to_parent ) ), "," ) );
Re: Cuadro de visualización: ¿Nivel?Yo tenía la misma idea 
Pero parece que a veces Obtener ruta de visualización no va paso a paso:
New window("test",Panel Box("1",Panel box("2",PanelBox("3",HList Box(Spacer Box(100),Text Box("4"),V List Box(Text Box("5"),Spacer Box(Size(100,100)),tb=Text Box("6")))))));
rootParent = tb << Top Parent();
path_to_parent = tb << Get Display Path( rootParent, Mode( "Subscript" ) );
count = N Items( Words( Char( Eval Expr( path_to_parent ) ), "," ) );
Re: Cuadro de visualización: ¿Nivel?Basado en el índice de secuencias de comandos, el propósito de << Obtener ruta de visualización no es proporcionarle una ruta completa, sino una expresión "robusta" (ruta robusta).
XPath o la función recursiva pueden ser bastante fáciles de implementar (no tengo idea si esto siempre funcionará, algunas plataformas en JMP pueden ser bastante complicadas y es posible que algunos elementos no se capturen)
Names Default To Here(1);
nw = New Window("test", // 6
Panel Box("1", // 5
Panel Box("2", // 4
Panel Box("3", // 3
H List Box( // 2
Spacer Box(100),
Text Box("4"),
V List Box( // 1
Text Box("5"),
Spacer Box(Size(100, 100)),
tb = Text Box("6") // 0
)
)
)
)
)
);
get_parents = function({elem, idx = 0},
next_elem = elem << parent;
If(Is Empty(next_elem),
return(idx);
);
idx++;
show(next_elem << class name);
get_parents(next_elem, idx);
);
show(get_parents(tb)); // has also the headbox
parent_count = N Items(nw << XPath("//TextBox[text() = '6']/ancestor::*"));
Re: Cuadro de visualización: ¿Nivel?Gracias por su respuesta.
¿Qué tal el siguiente guión? La secuencia de comandos repite la función principal hasta que llega a la principal principal.
nw = New Window( "test",
pb1 = Panel Box( "1",
pb2 = Panel Box( "2",
pb3 = Panel Box( "3",
H List Box(
Spacer Box( 100 ),
tb4 = Text Box( "4" ),
V List Box(
tb5 = Text Box( "5" ),
Spacer Box( Size( 100, 100 ) ),
tb6 = Text Box( "6" )
)
)
)
)
)
);
//count parent display box from target to top display box
count parent = Function( {nw, target, top}, //window, target display box, top display box
top_parent = top;
end = 0;
current = target;
displaybox_list = {};
For( i = 1, And( end == 0, i < 100 ), i++,
parent = current << parent();
If( Is Empty( parent ),
end = 1,
current = parent;
Insert Into( displaybox_list, current );
If( top_parent == current,
end = 1
);
);
);
Eval List( {i - 1, displaybox_list} );
);
{count, displaybox_list} = count parent( nw, tb6, pb1 );
show(count);Re: Cuadro de visualización: ¿Nivel?Gracias.
Acabo de probarlo con un árbol ligeramente diferente y obtuve un desbordamiento de pila.
¡¿Aquí la función padre no sube al árbol?!
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
New Window( "test",
H List Box( Panel Box(
"", H List Box( Text Box( "Hallo" ), tb = Filter Col Selector() ) ) ) );
get_parents = Function( {elem, idx = 0},
next_elem = elem << parent;
If( Is Empty( next_elem ),
Return( idx )
);
idx++;
Print( idx );
Show( next_elem << class name );
get_parents( next_elem, idx );
);
Show( get_parents( tb ) );Re: Cuadro de visualización: ¿Nivel?Si tuviera que adivinar, llega al selector de columna de filtro y comienza desde el principio por alguna razón (en mi opinión, el Selector de columna de filtro es uno de los cuadros de visualización con más errores y más molestos para trabajar en JMP). XPath aún podría funcionar, pero la consulta puede ser más molesta de construir.
Re: Cuadro de visualización: ¿Nivel?De acuerdo,
vamos a ver ...
Caso TS-00034009
Re: Cuadro de visualización: ¿Nivel?¡Gracias por informar el problema! Puedo confirmar que Desarrollo lo recibió y ya realizó algunas mejoras en el comportamiento de estos mensajes de cuadro de visualización para la próxima versión principal de JMP.Cuadro de visualización: ¿Nivel?¿Es un comando para obtener el nivel/profundidad (?) de un cuadro de visualización, es decir, el número de padres para llegar al padre superior?
Modelado Estadístico AvanzadoRe: Caja de exhibición: ¿Nivel?Gracias por arreglarlo.