Problema con obtener como tabla del informeHola a todos,
Estoy tratando de extraer información de un TableBox() en un informe en una tabla de datos para su manipulación. he leído http://www.jmp.com/support/help/Manipulating_Displays.shtml#196022 y tengo algo de trabajo, pero tengo dos problemas:
var = rdist["Summary Statistics"][1][1][1][1];
devoluciones
"mean"
Sé que puedo identificar el objeto y usar la sintaxis, pero
var = rdist["Summary Statistics"][1][TableBox(4)][1][1];
devoluciones
Cannot subscript Display Box in access or evaluation of 'Subscript' , rdist["Summary Statistics"][1][/*###*/Table Box( 4 )]
In the following script, error marked by /*###*/
var = rdist["Summary Statistics"][1][/*###*/Table Box( 4 )][1][1]
Tal vez me estoy perdiendo algo obvio. Se adjunta una imagen del árbol de visualización. No sé por qué no acepta la sintaxis.
El objetivo real es obtener la tabla que quiero usar es el cuadro de tabla "Estadísticas resumidas" (4).
Así que cuando intento:
var = rdist["Summary Statistics"][1][1];
rdist << make data table();
Yo obtengo:
The display box 'OutlineBox' does not recognize the message 'make data table'; perhaps you mean one of these: <<Make RowState Handler <<Selectable <<Get Title <<Set Title <<Set Menu Item State <<Get Menu Item State <<Set Scriptable Object <<Get Scriptable Object <<Add Text Item <<Set Font Name <<Get Font Name <<Set Window Title <<Add Pin Annotation <<Save Capture <<Get Window Title <<Set Window Title <<SetNotStretchable.

Re: Problema con obtener como tabla del informe¡Gracias!
Re: Problema con obtener como tabla del informeEso es una buena idea.
No es tan complicado. Solo tienes que entender que puedes usar referencias absolutas o relativas. El diagrama de árbol de visualización es de gran ayuda, pero no recomendamos utilizar referencias absolutas. Ese índice cambiará si aparece o desaparece algo entre la raíz del árbol de visualización y el cuadro de visualización de destino. Por otro lado, la referencia relativa casi nunca se rompe. Entonces, en su ejemplo, sr["Pruebas entre grupos"][TableBox(1)] es la referencia más directa y confiable. El primer subíndice llega al cuadro de contorno del objetivo y luego el siguiente subíndice (están anidados) le da el objetivo. Realmente no necesita todos los subíndices [1] en su ejemplo inicial. De hecho, eso hace que la referencia sea frágil por la razón que mencioné al comienzo de esta publicación.
Re: Problema con obtener como tabla del informeEso funciona. ¡Gracias por aclararlo!
Diría que esto es un poco complicado porque TableBox aparece con un número diferente entre paréntesis "TableBox (1)" en el script JMP es el primer TableBox después del OutlineBox etiquetado como "Pruebas entre grupos", en lugar de "TableBox ( 4)" que es como aparece en el árbol de visualización.
Una función que me encantaría ver en JMP sería la capacidad de arrastrar una función desde el árbol de visualización o incluso un informe a la ventana del script y hacer que la referencia del árbol de visualización aparezca en el editor de scripts.
De todos modos, me encanta JMP y el comando << hacer una tabla de datos combinados () es un salvavidas. ¡Gracias por escribirlo!
Re: Problema con obtener como tabla del informeEl índice que se muestra en el diagrama de árbol de visualización es una referencia absoluta. El [5] es absoluto. Más tarde, se suscribe al cuadro de tabla local único, por lo que ahora es [1].
Sugiero usar la referencia única más cercana, como el cuadro de esquema "Pruebas entre grupos" y luego TableBox (1).
Re: Problema con obtener como tabla del informeOk, me di cuenta de que estaba enviando la variable incorrecta a "hacer tabla de datos ()". Así que eso es bueno. Pero lo que no entiendo es:
sr = surv << Report;
var = sr[1][1][1]["Tests Between Groups"][1];
var<< make data table();
Hace una buena tabla de datos con las estadísticas que quiero. Pero....
var = sr[1][1][1]["Tests Between Groups"][TableBox(5)];
Devoluciones:
Cannot subscript Display Box in access or evaluation of 'Subscript' , sr[1][1][1]["Tests Between Groups"][/*###*/Table Box( 5 )]
In the following script, error marked by /*###*/
var = sr[1][1][1]["Tests Between Groups"][/*###*/Table Box( 5 )]
Entonces, lo que me gustaría saber es por qué:
"var = sr[ 1 ][ 1 ][ 1 ][ "Pruebas entre grupos" ][ TableBox ( 5 )];" ------- no es lo mismo que -------- " var = sr[ 1 ][ 1 ][ 1 ][ "Pruebas entre grupos" ][ 1 ];"
¿Hay alguna sintaxis que me falta?
Re: Problema con obtener como tabla del informecambie "Hacer tabla de datos" a "Hacer tabla de datos combinados" y creo que obtendrá lo que desea.Pondrá en una tabla de datos, todos los datos de cada uno de los Tableboxes
Re: Problema con obtener como tabla del informeGracias por tu respuesta Jim. Esto no es exactamente lo que pretendo hacer.
En última instancia, necesitaría la secuencia de comandos para pasar por las iteraciones (variable "Por") para un informe determinado y extraer el TableBox (4) en una tabla de datos y luego concatenar todos aquellos con identificadores o de qué iteración del análisis proviene .
Creo que puedo descifrar las concatenaciones, etc., solo estoy extrayendo el TableBox(4), en este ejemplo, como una tabla de datos. De acuerdo con el artículo en JMP Scripting>Display Trees>Manipulating Displays, esto debería ser posible.
Su ejemplo es:
rbiv[tablebox(4)] << make data table("ANOVA table");Entonces sé que el comando de envío puede hacer una tabla de datos. Simplemente no entiendo por qué en mi caso recibo el mensaje de error dado que puedo identificar adecuadamente los datos dentro de la tabla.
Re: Problema con obtener como tabla del informeEste es el método que utilizo para abordar el problema.
names default to here(1);
dt=open("$SAMPLE_DATA/semiconductor capability.jmp");
dis=Distribution(
Continuous Distribution( Column( :NPN1 ) ),
Continuous Distribution( Column( :PNP1 ) )
);
n items(report(dis));
mean=(report(dis)["NPN1"]["Summary Statistics"][1][1][2]<<GET></GET>