En esta demostración, usaremos un guión escrito previamente para ver cómo hacer un informe personalizado. Entonces, en el diario del curso, en la sección hay un guión llamado datos de NOx para los datos de óxido de nitrógeno. Y tenemos seis preparaciones diferentes. Y luego registramos el registro de la concentración de óxido de nitrógeno para cada una de las réplicas de las seis preparaciones diferentes. Así que el guión está preescrito. Y en el diario del curso, se llama Guión de informe de NOx personalizado. Y voy a ejecutar esto pieza por pieza. Pero en realidad quiero ejecutar todo para que podamos ver el resultado final antes de continuar y ver qué hace cada parte del script. Así que voy a ejecutar todo el asunto. Esta secuencia de comandos crea una tabla de resumen que se usa en Graph Builder. Revisaremos eso para que no solo estemos usando los datos sin procesar. Pero el informe personalizado es un informe con pestañas. En la primera pestaña, llamada %CV, tenemos esa plataforma en vivo Graph Builder. Así que este triángulo rojo es el típico menú de triángulo rojo que vería en Graph Builder. Y luego, tenemos los coeficientes de variación calculados o %CV para cada nivel. Y aquí, tenemos un menú de triángulo rojo personalizado que creó nuestro script que me permite especificar la cantidad de lugares decimales que quiero para las columnas de números dentro de mi informe. Y en la segunda pestaña, llamada Información general, tengo los datos sin procesar para cada nivel, la media y la desviación estándar que se usan para calcular el coeficiente de variación y el valor calculado. Y si hice una selección en ese menú de triángulo rojo, lo cual en realidad simplemente haré. En %CV, la pestaña frontal, iré al triángulo rojo y seleccionaré dos decimales. La secuencia de comandos está examinando todos los cuadros de columnas de números de este informe. Así que echemos un vistazo a cómo se construyó. Entonces, lo primero que hace el script es enviar el mensaje unidireccional a la tabla de datos original con el registro del óxido de nitrógeno: registro de la concentración del óxido de nitrógeno en el rol Y y la preparación en el rol X. Y lo que necesito para calcular el coeficiente de variación es la tabla de informe de medias y desviación estándar. Así que solicito que se encienda. Mencionaré que hay muchas formas de obtener el coeficiente de variación de JMP sin calcularlo a mano. Pero estamos, de nuevo, ilustrando algunas de las ideas de obtener valores como una matriz y usar esos cálculos matriciales. Así que pasaré las líneas Y aquí está la salida unidireccional con la tabla que solicité. Ahora, en línea, vemos esa otra sintaxis para obtener la capa de informe. Y una ventaja de usar esta sintaxis es que si no necesito todo lo que hay en ese informe, simplemente puedo solicitar, en este caso, el elemento de esquema de la tabla que quiero: las medias y las desviaciones estándar. Para poder simplificar un poco mi código cuando accedo a los cuadros de visualización. Y lo guardaré en la variable ob. Aquí, nuestra convención es simplemente usar la abreviatura de cuadro de contorno. Y viste cuando me moví, ya está almacenando un valor, porque ya ejecuté todo el script. Pero voy a reasignar eso. Ahora, las líneas y están recuperando la columna de los niveles, y luego las columnas de las medias y las desviaciones estándar. Para los niveles, no necesito manipular los valores en esta columna en absoluto. Solo voy a querer eso en mi informe personalizado para la tabla Estimaciones y en la información de fondo: la tabla Todos los resultados. Entonces, algo bueno que puedo hacer con un cuadro de visualización del que solo necesito una copia es enviar el mensaje "cuadro de clonación". Y eso solo almacenará un clon de este cuadro de visualización en Niveles, incluso después de que cierre la ventana unidireccional. Así que subíndicemos la variable ob con String Col Box Ahora aquí, nuevamente, podríamos usar los encabezados de las columnas, y no estaría de más hacerlo, ciertamente. Pero debido a que solo tenemos este cuadro de visualización almacenado en, o la referencia a él almacenada en ob, es bastante fácil usar la sintaxis simple con los valores de índice. Así que ejecutaré la línea Y entonces Niveles ahora está almacenando un cuadro de visualización, y específicamente un cuadro de columna de cadena que puede ver aquí en el registro. Línea Necesito usar las medias y las desviaciones estándar en el cálculo. Así que no puedo simplemente tener una copia de esos. Necesito obtener los valores como una matriz y almacenarlos en la variable mMeans o matriz de medios. Y puede ver en el registro, o si pasa el mouse sobre mMeans, cuáles son esos valores. Y lo mismo en línea para las desviaciones estándar. Así que ejecuto eso, y de nuevo, puedes-- Lo haré un poco más pequeño-- puedes ver en el registro esos valores. Line crea una variable llamada mCV, y ese es solo el cálculo de ese coeficiente de variación nuevamente. Esa es una medida relativa de la variabilidad en la que dividimos las desviaciones estándar por las medias y luego las multiplicamos por Así que ejecutaré la línea Así que ahora tengo los coeficientes de variación. Y en este punto, no necesito nada más de la plataforma. Así que voy a enviar el mensaje a ow, esto se envía a la referencia del objeto de la capa de análisis, para cerrar esa ventana. Y siempre recomiendo, cuando su secuencia de comandos puede cerrar ventanas, ya sean análisis o tablas de datos que ya no se necesitan, siga adelante y haga que su secuencia de comandos cierre esas ventanas. Porque si ya no necesitamos que estén abiertos, no necesitamos que ocupen memoria. Ahora, para el siguiente paso, quería usar Graph Builder en mi informe personalizado. Y Graph Builder actualmente no calcula el coeficiente de variación como una de sus estadísticas de resumen. Entonces, la solución fue crear esta tabla de resumen con el coeficiente de variación, que está integrado en el comando Tablas de resumen, y luego usarla como base para el Generador de gráficos. Entonces, antes de obtener la tabla Resumen, quiero cerrar la que apareció cuando ejecuté todo el script. Y cuando cierro eso, recibo la advertencia de que hay otra ventana abierta, así que voy a decir, siga adelante y cierre todo. Y eso eliminó de inmediato el Generador de gráficos de mi informe personalizado. Entonces, en este punto, no hay realmente ninguna razón para mantener abierto este informe personalizado de ejemplo. Vamos a recrearlo a medida que avanzamos en el guión. Así que cerraré ese también. Entonces, la línea envía "Resumen" como mensaje a la tabla de datos original, donde agrupamos por preparación. Y la estadística será ese coeficiente de variación. Así que ejecutaré la línea Y ahora, tengo todo lo que necesito para construir mi informe personalizado. Así que usamos Nueva ventana. Y voy a almacenar el cuadro de visualización creado por esto en la variable nw para poder comunicarme con él. Pongo el título Informe personalizado de mi nueva ventana y luego quiero crear un script para esas pestañas. Entonces especificamos Tab Box. Y luego, la cantidad de pestañas solo está determinada por la cantidad de argumentos de cuadro de página de pestaña que proporciona a eso. Así que tendremos en este caso. El primer argumento de Tab Page Box es el título. Y así, el primero se llama %CV. Y luego, H List Box me da un cuadro de lista horizontal que contendrá el Graph Builder. Y así que en realidad estoy lanzando eso en vivo. Así es como obtengo esta plataforma en vivo en esta ventana haciendo que el lanzamiento ocurra en el cuadro de visualización. Esta es la sintaxis que podría haber obtenido al crear de forma interactiva el Generador de gráficos y enviarlo a la tabla de resumen. Y luego, la otra cosa que estoy alineando en el cuadro de lista H es el cuadro de esquema, llamado Estimaciones, que tendrá el cuadro de tabla que contiene el cuadro de columna de cadena almacenado en Niveles. Y mi secuencia de comandos crea un cuadro de columna de número con los valores de% CV. El cuadro de la página de la segunda pestaña es la información de fondo, utilizando un cuadro de esquema para etiquetarlo como Todos los resultados. Y dentro del cuadro de contorno, un cuadro de tabla alinea cuatro cuadros de columnas de números horizontalmente. Así que voy a hacer esto más alto solo para asegurarme de tomar las líneas que quiero, que están completas. Y ejecutaré esa parte. Así que esto no está completo. Este es el punto de partida para mi informe personalizado. Y creo que ahora puedo hacer que la ventana del script sea un poco más estrecha para que podamos ver ambos, uno al lado del otro. Entonces, Graph Builder no tiene, de forma predeterminada, una línea en, por lo que esa es una de las cosas que quiero agregar. Quiero cambiar su tamaño, porque no necesito que el gráfico sea tan grande. Y quiero agregar ese menú de triángulo rojo al elemento de esquema Estimaciones. Observe, en el script, cuando creé el cuadro de esquema de las estimaciones en la primera pestaña del informe personalizado, almacené ese resultado en ob. Y ese era un nombre de variable que había usado antes cuando obtenía las medias y las desviaciones estándar de la plataforma unidireccional. Aquí nuevamente, simplemente usé la abreviatura y sobrescribí ese valor porque no necesitaba el valor anterior. Entonces, si ahora me desplazo hacia abajo para ver el resto de la secuencia de comandos, estoy enviando un mensaje "Establecer secuencia de comandos de menú" al cuadro de visualización almacenado en ob, que es el cuadro de esquema de Estimaciones. Y Set Menu Script toma como argumento una lista de elementos de menú que se alternan con la expresión que se ejecuta cuando se selecciona ese elemento de menú. Entonces, la expresión simplemente recorre los cuadros de columnas numéricas en el informe y establece el formato. Tenemos un ancho de campo de la cantidad máxima de caracteres que se pueden mostrar, y luego la cantidad de lugares decimales. Entonces, dependiendo de cuál de las opciones del menú del triángulo rojo seleccionemos, eso determina cuál de estas expresiones se ejecutará. Así que voy a pasar las líneas Y en el informe personalizado, ahora ven que tenemos el menú del triángulo rojo. La línea va a cambiar el tamaño del cuadro de marco del Graph Builder. Y esto es algo que, si voy a... voy a hacer clic con el botón derecho en el botón Divulgación y, en Editar, seleccionar Mostrar estructura de árbol, podría desplazarme hacia abajo. Cuando mira un informe completo, hay muchos constructores aquí que no usamos cuando escribimos nuestros propios scripts. Pero me desplazo hacia abajo. Bien, ahí está PictureBox, desplázate hacia abajo un poco más, ahí está ese título, desplázate hacia abajo un poco más. Puede pasar el cursor para ver los cuadros de los ejes. Y finalmente, veo FrameBox, y puedo ver que eso es lo que quiero cambiar de tamaño. A medida que se familiarice con las plataformas, es posible que no necesite mirar la estructura de árbol. Así que alineo la nueva ventana con el subíndice y envío el mensaje "Tamaño de marco", que es por píxeles, y continuaré y ejecutaré la línea para que cambie el tamaño de ese cuadro de marco de Graph Builder. Ahora nuevamente, puede usar el índice de secuencias de comandos para ver qué tipos de mensajes pueden recibir los diferentes cuadros de visualización. Entonces, si voy al menú Ayuda y selecciono Índice de secuencias de comandos, podría cambiar de Todas las categorías a Cuadros de visualización y desplazarme hacia abajo para encontrar FrameBox y ver los mensajes que se pueden enviar a eso. Voy a cerrar el índice de secuencias de comandos. La otra cosa que queríamos hacer es, en AxisBox, queremos agregar una línea de referencia. Y de nuevo, usaría, si no estuviera familiarizado con el, si no estuviera familiarizado con la estructura de árbol de visualización para Graph Builder, miraría esa ventana de estructura de árbol. en algunas plataformas es el eje vertical. En algunas plataformas, es la horizontal. En este caso, es el eje horizontal. Envío el mensaje para agregar la línea de referencia. Y los argumentos aquí son ¿en qué valor desea que esté la línea de referencia? Lo quiero en ¿Qué estilo de línea? quiero sólido. ¿El color? me pondré negro. El cuarto argumento es una etiqueta en el eje. Entonces, al tener una cadena de caracteres vacía, estamos diciendo que no queremos una etiqueta. De hecho, podría eliminarlo siempre que tenga esta coma para decirle a JMP que este es el quinto argumento, y no el cuarto argumento. Si no tuviera esta coma, entonces JMP etiquetaría el eje con un Pero debido a que puse la coma allí, JMP entiende que este es el ancho de la línea, no la etiqueta. Así que voy a ejecutar la línea Y eso dibuja mi línea de referencia. Y luego, la última parte de este script es enviar "Guardar diario" al cuadro de visualización almacenado en nw y llamarlo Custom CV Report.jrn. Ahora, su secuencia de comandos podría terminar aquí produciendo este informe con la ventana del Creador de gráficos en vivo y el menú del triángulo rojo para que el usuario interactúe. Y, de hecho, seguiré adelante y seleccionaré un lugar decimal esta vez. En algunos casos, es posible que también desee guardar ese informe como un diario. Y perderá ese menú de triángulo rojo cuando haga eso. Y su Graph Builder ya no será un informe en vivo. Pero la última opción aquí muestra cómo puede guardar un informe personalizado como diario con el mensaje "Guardar diario". Entonces, en este script, lanzamos la capa de análisis. Recuperamos el objeto de la capa de informe y luego obtuvimos los elementos de esa capa de informe que necesitábamos como copias o como matrices para manipulaciones. Creamos una tabla de datos separada para la plataforma que queríamos usar, y luego creamos el informe personalizado usando Nueva ventana, en este caso con pestañas, cuadros de lista horizontales y cuadros de contorno como nuestros cuadros de visualización, además de la columna de cadena. caja almacenada en Niveles y las varias cajas de columnas numéricas. Y luego, vimos cómo enviar mensajes a los componentes de ese informe personalizado.