Todos,
A pesar de muchos ejemplos en el foro, no puedo hacer que funcione la función "Obtener como matriz". Gracias a la función de árbol, encontré la tabla de datos correcta de la que se deben extraer los datos ("Schätzer" = "estimación"), vea la imagen a continuación. Necesito los datos en las cuatro filas de NumberColBOX(8). ¡"Get As Matrix" simplemente no extrae nada!
Aquí está mi guión:
"Cargar archivo de datos"
....
drg = Ajustar curva( Y( :Pmpp ), X( :time_ZUV ), Ajustar biexponencial 4P );
dgr_informe = drg << Informe;
dgr_report << muestra la estructura del árbol;
modell = dgr_report[OutlineBox(2)][TableBox(1)][StringColBox(1)] << Get();
cor_val = dgr_report[OutlineBox(2)][TableBox(1)][NumberColBox(6)] << Get();
SumFit = drg_report[OutlineBox(7)][TableBox(3)][NumberColBox(8)] << ge tAs Matrix;
....
"Modelo de pantalla, cor_val, SumFit"
¡Tenga en cuenta que los parámetros denominados "modell" y "cor_val" se extraen correctamente de OutlineBox (2)!
Tree structure of the expo decay fitEstructura de árbol de la expo decay fit
¡La ayuda sería muy apreciada!
Mickael
A continuación se encuentran los comentarios del script 6_XPathFind.jsl escritos para JSL Companion, Aplicaciones del lenguaje de secuencias de comandos JMP, 2.ª ed. .
Este podría ser un punto de partida para obtener más información.Busque también en este blog de JMP varios debates y presentaciones sobre XPath.
/* XML -> Lenguaje de marcado extensible
Varios enlaces para aprender más sobre XPATH
https://en.wikipedia.org/wiki/XPath
https://www.w3.org/TR/xpath.html
https://www.w3.org/TR/xpath/
//Sección 6 - Más sintaxis XPath
/* notas y ejemplos basados en https://www.tutorialspoint.com/xpath/xpath_quick_guide.htm
nombre-nodo Seleccione todos los nodos con el nombre dado "nombrenodo" los nombres de nodo en JMP son nombres de clase DisplayBox:
OutlineBox, TableBox, StringColBox, NumberColBox, TabBox, TabPageBox, AxisBox, FrameBox, etc.
/ La selección comienza desde el nodo raíz.
// La selección comienza desde el nodo actual que coincide con la selección
. Selecciona el nodo actual
.. Selecciona el padre del nodo actual
@ Selecciona atributos
Ejemplo de TableBox: selecciona todos los nodos (pantalla) con el nombre (nombre de clase) "TableBox"
Ejemplo de AxisBox/TextBox: selecciona todos los elementos de textBox que son hijos de un AxisBox
//Ejemplo de nombre de nodo: //TableBox selecciona todas las visualizaciones de TableBox sin importar dónde se encuentren en el informe JMP
----comodines----
* utilizado para coincidir con cualquier nodo.
.se utiliza para hacer coincidir el nodo actual en contexto.
@*utilizado para coincidir con cualquier atributo
----predicados---- Expresión entre corchetes para filtrar/restringir la selección
Ejemplos [n] [Último()] [@NumberColBoxItem > 20]
----funciones de cadenas más útiles----
comienza con (cadena1, cadena2) Devuelve verdadero cuando la primera cadena comienza con la segunda cadena.
contiene(cadena1, cadena2) Devuelve verdadero cuando la primera cadena contiene la segunda cadena.
substring(string, offset, length?) Devuelve una sección de la cadena. La sección comienza en el desplazamiento hasta la longitud proporcionada.
substring-before(string1, string2) Devuelve la parte de string1 anterior a la primera aparición de string2.
substring-after(string1, string2) Devuelve la parte de string1 después de la primera aparición de string2.
position() Proporciona la posición del nodo.
last() Selecciona el último nodo relativo al nodo actual;
count también está disponible, sin embargo, JMP devuelve una lista de resultados y los nitems (resultados) de JMP son igual de fáciles
//nodename Buscar todos los cuadros con ese nombre es probablemente el más útil
para la F es Curva() plataforma hay una opción para Hacer tabla de parámetros , que puede resultarle útil. iI es una opción Fit[n] (mensaje).
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Nonlinear Examples/Bioassay.jmp" );
obj = Fit Curve( Y( :Toxicity ), X( :log Conc ), Group( :formulation ) );
obj << Fit Logistic 4P;
ptbl = obj << (Fit[1] << Make Parameter Table);
Puede dirigirse a los cuadros de visualización con su número "absoluto", pero si está en un contexto jerárquico, se deben usar sus números relativos. En su ejemplo, solo hay un TableBox y tres NumberColBoxes en OutLineBox (7), y JMP no podrá encontrar un tercer TableBox.
A continuación se muestran cuatro métodos diferentes pero equivalentes para extraer la matriz. El primero usa numeración absoluta, el segundo y el tercero usan numeración relativa y el último usa xpath para identificar el NumberColBox basado en su título
SumFit = drg_report[Number Col Box(8)] << Get As Matrix;
SumFit = drg_report[Outline Box(7)][1][2] << Get As Matrix;
SumFit = drg_report[Outline Box(7)][Table Box(1)][Number Col Box(1)] << Get As Matrix;
SumFit = (drg_report << xpath("//NumberColBox[NumberColBoxHeader ='Estimate']"))[1] << Get As Matrix;