Entonces, esta demostración ilustra cómo usar la función For para la iteración. Y hasta ahora, hemos usado el Editor de secuencias de comandos con el registro para probar nuestras secuencias de comandos y observar los resultados. Pero ahora queremos ver eso usando el depurador. Así que tengo una ventana del editor de secuencias de comandos abierta y voy a comenzar escribiendo Nombres predeterminados aquí. Y pondré ese booleano que no estoy agregando espacios en este momento. De hecho, escribiré todo en una línea y luego dejaré que el reformateo automático limpie las cosas por mí. Entonces escribiré un punto y coma y luego Para, paréntesis abiertos, un punto y coma igual, b punto y coma igual, yo igual coma-- así que estoy inicializando tres variables. Luego voy a escribir la prueba, que es i menos que una coma, y luego voy a actualizar tanto b como i. Entonces b se actualizará-- b+ igual Así que esa es la función de asignación en el lugar, la función agregar a, que sobrescribirá el valor actual de b y lo aumentará en un punto y coma porque estoy actualizando dos cosas, y luego i++, eso ++ , nuevamente, siendo el operador de incremento posterior que se suma a i en su lugar. Y luego una coma, y luego el cuerpo de este bucle simple será la función Mostrar. Y solo mostraré a, coma, b, coma, y luego invocaré la función de multiplicación usando el operador, así que a por b. Y luego cerraré todos mis paréntesis, agregaré ese punto y coma, y haré clic derecho y Reformatear. Ahora, una cosa, bueno, dos cosas para notar aquí, una es que JMP agregó algunos puntos y coma adicionales para mí. Vio que estaba pegando funciones juntas en este primer argumento. Vio que estaba pegando funciones juntas en el tercer argumento. Y entonces agregó estos puntos y comas. No duelen. En la práctica, probablemente los eliminaría de mi secuencia de comandos porque no son necesarios a menos que vaya a agregar, unir más funciones. Y la otra cosa que podría hacer es reorganizar esto para que cada argumento tenga su propia línea. Pero quiero que esto coincida con lo que tengo en el PDF del curso cuando ingresemos al depurador. Así que voy a dejarlo como JMP lo reformateó, excepto para deshacerme de esos puntos y comas. Entonces, hay varias formas en que podemos iniciar el depurador. Puede ir al menú Editar, y hay una opción de Script de depuración. Puede ver que el atajo de teclado es Ctrl+Shift+R. Puede hacer clic en el botón de la barra de herramientas Depurar, aquí en la ventana del Editor de secuencias de comandos. O puede hacer clic con el botón derecho y seleccionar Script de depuración. Y dado que es el último que les mostraré, seguiré adelante y usaré ese método. Entonces, este depurador es una segunda instancia de JMP. Y la instancia original de JMP se suspende temporalmente. Entonces, si hay algún tipo de interacción, como un cuadro de diálogo que requiere su secuencia de comandos, la ventana del depurador se suspenderá hasta que realice esa acción. Y luego el control se devuelve al depurador una vez que se completa. Y luego, una vez que haya terminado con el depurador, simplemente ciérrelo. Simplemente puede usar la X en la esquina superior derecha o el botón Detener aquí en la barra de herramientas. Y eso lo regresará a la instancia original de JMP. Entonces, para comenzar, solo voy a ejecutar este ciclo, tal como está, sin poner ningún punto de interrupción. Y hay dos botones aquí. Uno es Ejecutar y el otro es Ejecutar sin puntos de interrupción. Y dado que no tengo ningún punto de interrupción en este momento, esos van a hacer lo mismo. Si tengo puntos de interrupción que quiero usar ahora, usaré este botón en el extremo izquierdo. Así que haré clic en eso. Y me permite saber que la ejecución del programa finaliza a menos que reinicie, lo cual haré en breve. La única opción es cerrar el depurador. Pero antes de reiniciar, quiero ir a la pestaña Locales aquí abajo en el panel de abajo donde se muestra el script. Y el espacio de nombres predeterminado es Aquí, que es lo que invoqué en línea Y puede ver que al final de ejecutar el script, el valor de a es El valor de b es Y el valor de i es Así que ahora quiero usar el depurador para ver los valores de a, b e i en cada paso de la iteración. Así que voy a hacer clic en el botón Reiniciar. Y quiero agregar un punto de interrupción en la línea. Y para hacerlo, hago clic justo a la derecha del número de línea. Y puede tener tantos puntos de interrupción como desee. En este script simple, realmente solo necesitamos uno. Entonces, lo que eso significa es que vamos a evaluar la línea y establecer ese espacio de nombres Here. Y luego, dentro del bucle for, evaluaremos el argumento de inicialización. Evaluaremos la prueba. Evaluaremos el cuerpo del bucle for, que es solo la función Mostrar. Y luego haremos una pausa y veremos los valores en la pestaña Locales. Déjame volver a eso. Y luego, cuando vuelva a hacer clic en Ejecutar, actualizaremos, haremos la prueba, ejecutaremos el cuerpo, haremos una pausa y veremos esos valores. Y continuaremos haciéndolo hasta que la prueba falle y salgamos del ciclo. Así que no quiero tener nada seleccionado. Y voy a usar el botón Ejecutar de la izquierda. Nuevamente, no quiero ejecutarlo sin puntos de interrupción. Así que ejecutaré esto. Y pueden ver que nos detuvimos en la línea después de evaluar eso. Y los valores de a, b e i son y respectivamente. Para ejecutar el siguiente paso de la iteración, vuelvo a hacer clic en el botón Ejecutar. Y ahora veo que los valores de a, b e i son y respectivamente. Y puedo correr una vez más. Y llegamos a los valores finales de a, b e i. Y recibo el mensaje de que la ejecución del programa ha terminado. Y puedo reiniciar si quisiera hacer algo más. Puedo hacer clic en el botón Detener. O podría cerrar usando la X en la esquina superior derecha. Y seguiré adelante y haré clic en el botón Detener. Entonces eso devuelve el control a mi sesión original de JMP. Ahora imaginemos que hemos medido el tiempo de curado de algún compuesto que está en producción. Y cada ejecución se muestrea cinco veces durante la producción, y determinamos este tiempo de curado para cada muestra. Y queremos ver la distribución de los tiempos de curado para cada muestra. Entonces, en el Diario del curso, en la sección Voy a hacer clic en Curar datos de tiempo. Y una de las cosas que recomendamos al crear secuencias de comandos es probar las cosas de manera interactiva para comenzar a asegurarse de que lo que está tratando de hacer es factible. Así que quiero histogramas para el tiempo de curado. Así que voy a hacer un ejemplo simple para empezar. Iré al menú Analizar, seleccionaré Distribución. Y pondré a Cure Time en ese papel Y. Y de nuevo, recuerda que el papel aquí es Y. Y haré clic en Aceptar. Y mirando esto, pienso, bueno, esto es genial. Esto es exactamente lo que quiero para mis cinco distribuciones de tiempo de curado. Así que esa es la plataforma que quiero usar. Y preparé una pequeña plantilla de un script que recrearía este informe. Déjame volver a la ventana de Inicio y abrirla. Entonces, este script con el lanzamiento de la plataforma de distribución, ese rol Y, y luego la función de columna con Cure Time como la cadena de caracteres recreará ese informe. Así que voy a escribir un ciclo basado en esta plantilla. Así que continuaré y cerraré esta ventana de Cure Time y navegaré de regreso a mi Script Editor y borraré el contenido, para poder usar la misma ventana. Y nuevamente, comenzaré mi secuencia de comandos con Nombres predeterminados hasta aquí. Y como antes, dejaré que JMP limpie el script por mí con el reformateo automático. Entonces mi ciclo for comenzará con el argumento c. Y le voy a asignar un valor de a c. Esa es la única variable que voy a inicializar. Escribiré una coma. La prueba será c menor que igual al número de columnas. Y solo un recordatorio de que una mejor práctica, si está trabajando con una tabla de datos grande, potencialmente sería contar la cantidad de columnas fuera del ciclo, almacenar ese resultado en una variable y luego hacer que esa variable sea lo que desea. estamos comparando c con. En este caso, son cinco columnas porque estamos comenzando con la segunda. Son cinco columnas en total. Así que no me preocupa demasiado volver a hacer este conteo cada vez. Pero una mejor práctica sería sacar eso. Voy a escribir una coma después de eso. El argumento de actualización será simplemente c y el operador de incremento posterior, los dos signos más, otra coma, y luego voy a escribir Distribución entre paréntesis, y, abrir paréntesis nuevamente, escribir columna y luego simplemente poner c-- el contador-- en esos paréntesis. Y voy a pasar la flecha ahora solo para asegurarme de que coincidan todos mis paréntesis. En realidad, si me faltara un paréntesis de cierre aquí e intentara reformatear, recibiría un mensaje de que faltaba algo. Así que volver a formatear en realidad es una forma sencilla de hacer algo de depuración. Voy a escribir el punto y coma. Y luego seguiré adelante y usaré el botón Reformatear secuencia de comandos. Y luego seguiré adelante y ejecutaré el script. Y lo que obtengo con el script escrito tal como está es una ventana separada para cada observación de los valores de tiempo de curado porque estoy iniciando la distribución, si volvemos a la ventana del Editor de scripts, estoy iniciando la plataforma de distribución nuevamente. en cada paso de la iteración. Pero si está familiarizado con la distribución, volveré al menú Analizar, seleccionaré Distribución y colocaré los cinco valores de tiempo de curado en esa función Y. Si está familiarizado con la distribución, sabe que puede obtenerlos todos en la misma ventana. Entonces, en el Diario, hay una secuencia de comandos que se escribió previamente para que se reproduzca en bucle y desarrolle ese rol Y con todos los nombres de columna y produzca el mismo informe con las cinco distribuciones en la misma ventana. Entonces, antes de comenzar, quiero continuar y cerrar todas estas ventanas de informes. Voy a subir a la barra de menú y, en Ventana, seleccionar Cerrar todos los informes. Y luego encontraré el Diario. Y quiero hacer clic en el guión, Cure Time Distributions. Y vamos a revisar esto en el depurador. Así que hablaré sobre lo que sucede en cada paso en ese entorno del depurador en lugar de en la ventana del editor de secuencias de comandos aquí. Así que haré clic derecho y seleccionaré Debug Script. Nuevamente, recuerde que hay varias formas en que podemos iniciar el Depurador. Y quiero agregar un punto de interrupción en la línea para ver qué sucede en cada paso de la iteración como hicimos en el ejemplo simple anterior. Y también quiero agregar un reloj en la variable c y la variable yCol. Así que voy a ir a la pestaña Ver. Y voy a hacer clic en el signo más verde para agregar un reloj. Entonces, esta es una forma en que puedo ver variables específicas en mi script. Ahora aquí, no tengo muchas variables. Pero si tenía una secuencia de comandos grande con muchas variables, y solo necesitaba vigilar algunas mientras realizaba la depuración, usar la pestaña Ver es una excelente manera de hacerlo. Así que haré clic en ese signo más verde para agregar el reloj. Escribiré la variable c y haré clic en Aceptar. Y luego también quiero agregar un reloj en la variable yCol y haré clic en Aceptar. Ahora, antes de comenzar a ejecutar esto, quiero hablar un poco sobre lo que sucede a lo largo del script. Y luego lo veremos a medida que avanzamos en el proceso de ejecutar el depurador. Entonces, la primera línea es crear una variable llamada yCol. Y yCol va a almacenar el rol de análisis Y de la plataforma de distribución seguido de paréntesis vacíos porque mi ciclo va a construir esta expresión agregando los nombres de las columnas entre paréntesis después de ese rol Y. Y lo cito con Expr porque si intentara decir yCol y asignara el valor y entre paréntesis después, obtendría un error porque JMP no reconoce esto como una variable definida. No lo reconoce como una función. Entonces, solo quiero que este valor literal se almacene en yCol sin que JMP intente evaluarlo. Así que eso es lo que hará la línea. Las líneas a través son mi ciclo for, donde comenzamos con la columna Iteramos hasta que nos quedamos sin columnas. Y nuevamente, en un script de nivel de producción, particularmente si puede haber tablas de datos más grandes, queremos contar el número de columnas fuera del ciclo, poner eso en una variable. Y luego, el cuerpo del bucle for es simplemente agregar la columna c, por lo que esta primera ronda se coloca en la columna de la expresión almacenada en yCol. E Insertar en no intentará evaluar su primer argumento. Así que no tengo que hacer nada especial con la variable yCol. Simplemente lo mira y luego hace la operación, en este caso, agrega columna entre paréntesis después de la y. La función Mostrar es solo con fines ilustrativos para que podamos ver lo que sucede en cada paso. Esa pieza, si no estuviera usando el depurador, aparecería en el registro. Así que tengo el reloj en los valores, que es el equivalente a usar la función Mostrar. Actualizamos. Probamos y, suponiendo que c es todavía menor o igual que el número de columnas, insertamos la siguiente columna en yCol. Luego, una vez que el ciclo se ha completado, en otras palabras, nos quedamos sin columnas, tenemos una última línea de código, sobre la cual hablaré desde adentro hacia afuera. Queremos usar la función Insertar para modificar la expresión de distribución. Usamos Insertar en lugar de Insertar en porque la distribución es un lanzamiento de plataforma integrado en JMP. Un usuario no puede modificar la distribución en sí mismo. Podemos modificar una expresión que usa distribución. Así que usamos insertar. Y luego envolvemos la distribución en la función Expr, para que JMP no intente evaluar la distribución. Si lancé, solo resaltaré esto, si solo ejecuté esta parte de esta línea de código, JMP diría, oye, no me has dado el argumento requerido en el rol Y. Entonces me daría el lanzamiento de la plataforma de distribución. Y luego el usuario pondría sus columnas, pero en realidad no lo haríamos, anularía el propósito de nuestro script, ¿verdad? Así que ese es el primer argumento. El segundo argumento: si simplemente pongo yCol como segundo argumento, JMP intentará evaluarlo. Y vería... verás cómo se verá después de que hayamos hecho el bucle. Pero solo vería esa Y mayúscula con paréntesis y un montón de nombres de columna. Y eso no es algo con lo que JMP sepa qué hacer. No reconoce eso como un nombre de variable o una función. Entonces, Name Expr me permite ver lo que está almacenado y yCol sin intentar evaluarlo. Y esa expresión no evaluada almacenada en yCol es lo que se pondrá entre paréntesis después de la distribución. Luego, debido a que, una vez que hago eso, la distribución con el rol Y en todas las columnas aún se cita, envolvemos todo en Eval. Y podemos continuar cuando volvamos a la instancia regular de JMP y desglosar eso un poco más. Así que tengo mis relojes. Y actualmente, las variables no están definidas. Así que eso es lo que aparece como el valor. Corramos hasta el primer punto de quiebre. Entonces, después de esa primera ejecución antes de actualizar, c está almacenando el valor de Y ahora yCol, en lugar de solo una Y con paréntesis vacíos, tiene Tiempo de curado de columna. No puedo navegar hasta él porque el depurador está activo, pero eso es lo que produciría esa distribución solo para una columna. Así que voy a ejecutar de nuevo a través de la próxima iteración. Ahora c es igual a y la función de análisis y está iniciando dos columnas de tiempo de curado. Correré de nuevo. Ahora tenemos tres. Y puedo seguir haciéndolo. Puede ver en el registro en segundo plano que esos resultados se muestran debido a la función Mostrar. Así que continuaré haciendo eso hasta que salgamos del ciclo. Y las cinco columnas de tiempo de curación están almacenadas, y esto es más fácil de ver en el registro en su sesión regular de JMP, pero ahora están todas almacenadas en yCol. Entonces la ejecución del programa ha terminado. Continuaré y haré clic en Detener en el depurador. Y entonces esa última línea ahora ha sido evaluada. Y tengo las distribuciones de tiempo de curado con los cinco histogramas en la misma ventana. Ahora volvamos a la ventana del Editor de scripts brevemente para hablar sobre esta línea porque creo que es importante pensar en cómo construimos expresiones de adentro hacia afuera. Así que voy a ejecutar esto y crear un montón de errores solo para asegurarme de que quede claro por qué escribimos esto de la forma en que lo hicimos. Así que voy a comentar la línea preescrita. Entonces, volviendo a cómo estaba describiendo esto cuando estamos en la instancia del depurador, voy a escribir la palabra Insertar. Y si es nuevo en el mundo de las secuencias de comandos, puede ser un poco de prueba y error saber cuándo usar Insertar, cuándo usar Insertar en. Pero de nuevo, en este caso, estoy tratando de-- Necesito lanzar una plataforma con roles de análisis específicos o columnas específicas en el rol de análisis. Pero no puedo modificar una plataforma. Solo puedo modificar variables creadas por el usuario. Esos se llaman valores L. Así que intentemos esto. Voy a escribir Distribución para ese lanzamiento, abrir los paréntesis, cerrar los paréntesis, escribir una coma e intentar insertar yCol. Nuevamente, llego a esto desde una perspectiva ingenua de que quiero lo que está almacenado en yCol y los paréntesis después de la distribución. Entonces, veamos qué sucede cuando ejecuto esta línea. [CAMPANILLA DE ERROR] Aparece un error, Nombre sin resolver. Y en acceso o evaluación de Y de todas las columnas. Entonces, si descarto eso, eso solo significa que JMP intentó evaluar esto. no pudo Así que tenemos un error. Así que esto no se completó. De nuevo, la función que usamos cuando necesitamos recuperar una expresión almacenada o una expresión citada sin evaluarla es Name Expr. Así que voy a envolver-- ups-- abrir paréntesis. Voy a envolver yCol en Name Expr. Y podrías probar esto. Así que lo que ocurre. Si acabo de ejecutar yCol, viste el error que acabamos de recibir. Si ejecuto Name Expr yCol, entonces puedes ver en el registro-- ups, estoy tratando de cambiar el tamaño de esto. Puede ver en el registro que JMP no me da un error con eso. Simplemente devuelve esa expresión citada. Así que ahora, cuando trato de ejecutar la línea, oh, bueno, esta vez, el problema es que, JMP no tuvo ningún problema con la variable yCol esta vez. Pero ahora vio distribución sin ese valor requerido. Así que no quiero que JMP lance esta plataforma. Cancelaré eso. Quiero envolver la distribución en Expr, por lo que JMP no intentará evaluar eso en absoluto. Y nuevamente, puede resaltar eso y ejecutarlo solo para probarlo, está bien, eso no causa ningún problema. Y ahora, cuando ejecuto esto, si miro en el registro, está la línea de código que ejecuté. Aquí está el resultado, distribución con un rol Y y todas las columnas contenidas dentro de eso. Entonces, la última parte, como vieron en línea, es envolver todo esto, y esta es solo una forma de hacerlo, pero envolver toda la línea en la función Eval. Y yo ejecuto eso. Y hay otra ventana de distribución con todos los informes de distribución. Así que solo quería seguir cometiendo algunos errores mientras desarrollaba esto solo porque creo que eso ayuda a las personas a comprender por qué escribimos estas cosas de la manera en que lo hacemos. Ahora, otra cosa que mencionaré es que, en general, recomendaríamos: cuando hice la primera distribución del tiempo de curado, si recuerdan, fui a Analizar, Distribución, simplemente puse el Tiempo de curado en el rol Y e hice clic en Aceptar. A menudo recomendamos que tome el script que JMP escribiría para usted y lo use como base, en este caso, para escribir este bucle. Y la única razón por la que no hice eso con las distribuciones es que la sintaxis en la que solo tengo esa función de análisis es una sintaxis más antigua. Si tuviera que ir al triángulo rojo junto a las distribuciones y seleccionar Guardar secuencia de comandos en la ventana de secuencias de comandos, la sintaxis más reciente especifica si se trata de una distribución nominal o continua individualmente para cada columna. Y entonces, hay un poco más de secuencias de comandos en ese bucle que con la sintaxis anterior. La sintaxis anterior funciona bien. Pero probablemente recomendaría usar esta sintaxis más nueva. Es solo un bucle un poco más complicado. Pero con la mayoría de las plataformas, estará bien tomar el script que JMP escribe para nosotros. Voy a cerrar esta ventana de script. Y vamos a ver un ejemplo más de hacer algo de forma interactiva. Esta vez, capturaré ese guión. Aunque, mi ciclo está escrito previamente. Supongamos que quisiera ver los gráficos de control de los cinco valores de tiempo de curado. Entonces, comenzaré de manera interactiva yendo a mi menú Analizar. En Calidad y proceso, seleccionaré Generador de gráficos de control. Quiero poner a Day en ese rol de subgrupo y a Cure Time en el rol de Y. Y eso automáticamente, el generador de Gráficos de Control me da la medición individual y el gráfico de rango de movimiento de Cure Time Así que ese es mi punto de partida. Voy a hacer clic en Listo para ocultar el Panel de control. Y luego voy a ir al triángulo rojo junto a Control Chart Builder y Save Script to a Script Window. Así que esta ventana del Editor de secuencias de comandos... esta ventana del Editor de secuencias de comandos. ahora contiene el generador de gráficos de control que recreará ese resultado. Ahora, solo para que coincida con mi guión escrito previamente, voy a eliminar la línea que establece el tamaño. No tienes que hacer esto, por supuesto. Solo estoy simplificando esto para fines de demostración. Entonces, lo que vemos es que el generador de gráficos de control es el lanzamiento de la plataforma. Y luego tenemos algunas opciones. Estamos ocultando el Panel de control usando ese valor booleano. No estamos mostrando la capacidad. Y luego está este rol de las variables. Y el rol de variables tiene un subgrupo. Será el mismo para todos los valores de tiempo de curado. Y luego tiene un rol Y con el tiempo de curado, en este caso, el tiempo de curado Entonces, lo que realmente necesitamos hacer es construir tres cosas. Necesitamos construir ese rol de análisis y con las columnas de tiempo de curado, construir la parte de variables de esto agregando, una vez que tengamos todas las columnas de tiempo de curado en el rol Y, agregando eso aquí. Y luego coloque esa pieza de variables en el inicio del generador de gráficos de control. Así que volvamos al diario y hagamos clic en Curar gráficos de control de tiempo. Entonces, nuevamente, son tres piezas que construyen el rol de análisis y. Y eso es justo lo que hicimos. Estas líneas son justo lo que hicimos, lo que vimos en la distribución. Y solo estoy usando una convención de nomenclatura diferente en las variables. Luego queremos construir la pieza de variables. Y entonces solo estoy usando la función Insertar. Tengo variables con el subgrupo Día, que será el mismo para todos los valores de tiempo de curado. Pero no quiero que JMP intente evaluar las variables de palabra. Obtendré un error. Así que usaré Expr. Y luego, al igual que en la distribución en ese script, recupero la lista de columnas que está almacenada en yExpr y la agrego a la pieza de variables. Luego, en este script, en realidad estoy creando la plantilla básica para el generador de gráficos de control sin la pieza de variables y almacenándola en la variable ccExpr. Y finalmente, voy a agregar la línea de variables. Entonces, nuevamente, si observamos ese código en segundo plano, esa línea de variables se agregará al inicio del Generador de gráficos de control. Y en este caso, solo usé Name Expr para ambos porque son expresiones entre comillas que ya he definido. Guardo ese resultado en su propia variable en lugar de envolver esta función de inserción en eval. Y luego uso cc en mi script, y eso evaluará esa expresión construida. Sin embargo, sigamos adelante y llevemos esto al depurador. Así que haré clic derecho y seleccionaré Depurar. Voy a navegar a la pestaña Ver. Y quiero deshacerme de las variables de vigilancia actuales de mis otros scripts, así que haré clic en el botón para eliminar todas las vigilancias. Y luego voy a agregar cuatro relojes para las cuatro variables en este script. Así que haré clic en el signo más verde. Y primero, escribiré yExpr y haré clic en Aceptar. Y volveré a hacer clic en el signo más verde y agregaré varExpr. Y no importa si lo puse en mayúsculas, solo quiero ser consistente con lo que está en el texto aquí en el guión. Así que haré clic en Aceptar. Quiero agregar ccExpr. Haga clic en Aceptar. Y finalmente, quiero agregar cc y hacer clic en Aceptar. Voy a poner tres puntos de interrupción porque quiero detenerme en tres lugares diferentes aquí. Entonces, el primer punto de interrupción estará en línea y eso me permitirá ver qué sucede en cada paso de la iteración. El próximo punto de interrupción estará en línea. Así que haremos una pausa para poder ver lo que está almacenado en varExpr. Y finalmente, pondremos un punto de interrupción en línea para ver qué hay almacenado en cc. Y luego, una vez que descartemos esto, eso será evaluado. Usaré el botón Step Over para ejecutar el depurador. Así que hago clic en eso. Y la línea se evalúa, y llegamos al ciclo. Y si miramos en la pestaña Ver a continuación, puede ver lo que está almacenado y yExpr en este momento. Y luego, cuando vuelvo a hacer clic en Pasar por encima, vamos al primer punto de interrupción. Cuando hago clic en Step Over por tercera vez, ahora puede ver que yExpr tiene Column Cure Time. Haré clic en Pasar por encima nuevamente para ir a ese punto de interrupción. Haga clic una vez más. Y ahora hemos insertado Cure Time en ese papel Y. Así que continuaré haciéndolo hasta que terminemos con el bucle for. Y si vio esto, vería que las cinco columnas de tiempo de curado están en ese rol Y. Ahora la línea definirá varExpr. Así que ahora son variables con el subgrupo Día y luego el rol Y con todas esas columnas. Haré clic en Step Over nuevamente, y eso nos lleva a donde hemos definido ccExpr. Y también puede ver eso en la pestaña Ver, que solo está almacenando el inicio del Generador de gráficos de control, pero falta una parte vital. Y luego la línea es donde ponemos todo junto. Así que pasaré por encima una vez más. Y ahora, si desea examinar esto, el Generador de gráficos de control, Mostrar panel de control, etcétera, tiene los valores almacenados en varExpr agregados. Haré clic en Pasar por encima una vez más. La ejecución del programa termina. Haré clic en Detener. Y ahora, de vuelta en mi sesión habitual de JMP, puede ver que tengo las tablas de medidas individuales y rango de movimiento para su tiempo de curado, etc. Entonces, en estos ejemplos, estamos viendo el uso de la función For, empleando las funciones Expr, Name Expr usando Insert, y también observamos cómo podemos usar el depurador en estos contextos simples. Volveré al Diario y haré clic en Eliminar todo Guardar ninguno sin guardar los cambios en ninguna de mis ventanas de script. Y eso concluirá esta demostración.