¿Cómo encontrar la referencia a un objeto en una plataforma utilizando la estructura de árbol?Hola, he estado tratando de usar referencias a objetos en plataformas de análisis (gráficos, tablas, etc.) en scripts, pero en mi opinión no es muy intuitivo por los ejemplos que he visto.
Tengo varios casos de uso, pero espero encontrar una descripción genérica o un manual sobre cómo encontrar la referencia a cualquier objeto en una plataforma de análisis. Supongo que existe en algún lugar de este sitio, pero no he podido encontrarlo.
Automatización y secuencias de comandosLa personalización en masaRe: ¿Cómo encontrar la referencia a un objeto en una plataforma usando la estructura de árbol?También hay una función de utilidad para ayudar a determinar la mejor ruta a un cuadro de visualización.

Re: ¿Cómo encontrar la referencia a un objeto en una plataforma usando la estructura de árbol?
ya que no tengo acceso a JMP17.
¿en realidad?
hubiera adivinado que tú obtenga su edición especial, personal y gratuita de la firma JMP Pro el primer día que salga una nueva versión
... para apoyarte tanto como sea posible para apoyar a otros 
Re: ¿Cómo encontrar la referencia a un objeto en una plataforma usando la estructura de árbol?otro truco:
Genere el código XML para el informe actual (no solo el informe del objeto; piense en filtros de datos, etc.)
Vinculé el siguiente código a un método abreviado de teclado y ahora puedo obtener el código XML para cualquier informe que desee.
Simplemente seleccione el informe y presione (por ejemplo) CTRL - Alt + X
Local({myTitle= Current Report()<< get Window Title() || " - (xml)"},
New Window (myTitle ,<<TYPE></TYPE>Re: ¿Cómo encontrar la referencia a un objeto en una plataforma usando la estructura de árbol?Como Jarmo indicó en su primera respuesta, en JMP17 ahora es un poco más fácil obtener el XPath correcto para un objeto:
Haga clic derecho en el objeto, haga clic en Mostrar propiedades (... ajuste la selección si es necesario) y haga clic en
en el menú Box Path a la derecha:

Re: ¿Cómo encontrar la referencia a un objeto en una plataforma usando la estructura de árbol?Podría intentar envolver Oneway con New Window
Names Default To Here(1);
// group by sex
dt = Open("$SAMPLE_DATA\Big Class.jmp");
nw = New Window("", ow = dt << Oneway(Y(:height), X(:age), By(:sex), Means and Std Dev(1), Mean Error Bars(1), Std Dev Lines(1), Mean of Means(1)));
// get XML fails for this platform
testXML = nw << Get XML;
Write(testXML);
ncbList = nw << XPath("\[//OutlineBox[text()="Means and Std Deviations"]//NumberColBox]\");
Re: ¿Cómo encontrar la referencia a un objeto en una plataforma usando la estructura de árbol?Cuando usa By(), obtiene el mensaje que devuelve una lista de plataformas, no una sola plataforma.
dt = Open( "$SAMPLE_DATA\Big Class.jmp" );
ow = dt << Oneway(
Y( :height ),
X( :age ),
Means and Std Dev( 1 ),
Mean Error Bars( 1 ),
Std Dev Lines( 1 ),
Mean of Means( 1 )
);
Show( ow );
dt = Open( "$SAMPLE_DATA\Big Class.jmp" );
ow_by = dt << Oneway(
Y( :height ),
X( :age ),
By( :sex ),
Means and Std Dev( 1 ),
Mean Error Bars( 1 ),
Std Dev Lines( 1 ),
Mean of Means( 1 )
);
Show( ow_by );
Registro:
/*:
ow = Oneway[];
ow_by = {Oneway[], Oneway[]};Re: ¿Cómo encontrar la referencia a un objeto en una plataforma usando la estructura de árbol?Mirando los ejemplos de XPath, me di cuenta de que muchos de mis problemas surgen cuando uso una variable "agrupar por" en la plataforma.
Tomando el ejemplo que encuentro en el enlace XPath:
Este script funciona bien
// not grouped by sex
dt = Open( "$SAMPLE_DATA\Big Class.jmp" );
ow = dt << Oneway(
Y( :height ),
X( :age ),
Means and Std Dev( 1 ),
Mean Error Bars( 1 ),
Std Dev Lines( 1 ),
Mean of Means( 1 )
);
testXML = Report (ow) << Get XML;
Write( testXML );
/* Return a list of NumberColBox references */
ncbList = Report( ow )["Means and Std Deviations"] << XPath( "//NumberColBox" );
Sin embargo, si agrupo por sexo, obtener XML ya arroja un error. ¿Cómo manejar esto?
// group by sex
dt = Open( "$SAMPLE_DATA\Big Class.jmp" );
ow = dt << Oneway(
Y( :height ),
X( :age ),
By( :sex ),
Means and Std Dev( 1 ),
Mean Error Bars( 1 ),
Std Dev Lines( 1 ),
Mean of Means( 1 )
);
// get XML fails for this platform
testXML = Report (ow) << Get XML;
Write( testXML );
/* Return a list of NumberColBox references */
ncbList = Report( ow )[???]["Means and Std Deviations"] << XPath( "//NumberColBox" );
Re: ¿Cómo encontrar la referencia a un objeto en una plataforma usando la estructura de árbol?Gracias, esto es más o menos lo que estaba buscando. Recuerdo la presentación "Robar este código" pero tampoco pude encontrarlo más.
Aceptaré esto como una solución, aunque sigo pensando que este tema merece una explicación más concisa sobre el aprendizaje de JMP y/o el índice de secuencias de comandos dentro de JMP para que los usuarios sepan por dónde empezar.
Re: ¿Cómo encontrar la referencia a un objeto en una plataforma usando la estructura de árbol?En mi opinión, no existe una solución genérica para esto, ya que hay muchas plataformas diferentes en JMP y algunas de ellas se comportan de manera diferente a otras. Mi enfoque general es echar un vistazo al XML con << Obtener XML y luego use XPath (XPath también es bueno ya que funciona fuera de JSL) con alguna combinación de << hermano, << hijo, << padre.... Si es un caso muy simple, entonces podría usar el subíndice de informe Guía de secuencias de comandos > Árboles de visualización > Navegar por informes JMP > Referencias de objetos de cuadro de visualización .
A continuación se muestran algunos enlaces: