Esta demostración ilustrará cómo administrar columnas de datos y filas de tablas de datos. Y usaré un script para crear una nueva tabla de datos con una columna para comenzar. Entonces, en la sección del diario del curso, voy a hacer clic en Crear nueva tabla y columna de datos. Y puede ver que estamos usando la nueva función de tabla. Vamos a almacenar la referencia del objeto de la tabla de datos que esto crea en la variable dt. Y la tabla se llamará Test Data. Voy a tener una sola columna llamada pH. El tipo de dato será numérico y el tipo de modelado será continuo. Y luego estoy usando el argumento de valores, que también podría decir establecer valores, ambos van a ser sinónimos, para completar usando el operador de índice, que es un operador infijo. Esto es solo que vamos a contar de uno a siete en incrementos de uno. Y debido a que estoy proporcionando esos valores, esa es la cantidad de filas que tendrá esta tabla de datos. Hay un argumento opcional para agregar un número específico de filas que podría usar si no estuviera rellenando valores inicialmente. Y también verá si JMP escribe un script para una tabla de datos para usted con ese mensaje de script de obtención, que incluirá el argumento para agregar las filas. También especificaremos un formato usando el argumento decimal fijo con un campo con y tres lugares decimales. Vamos a activar la opción de bloqueo en la columna para que no se pueda modificar sin desbloquearla. Y usaremos el argumento de verificación de rango para asignar esa propiedad de columna. Y la sintaxis aquí LELE ( ) simplemente dice que es menor o igual que el valor en la columna es menor o igual que Y luego, por último, tenemos un ejemplo del argumento de propiedad establecida, donde estamos configurando la propiedad del límites de especificación. Y debido a que hay más de una opción para indicar los límites de especificación, tenemos una lista de los tres límites: el límite de especificación inferior, el límite de especificación superior y el objetivo. Y recuerde, también, que todos estos argumentos opcionales a la nueva columna podrían enviarse como mensajes a la columna después de que se haya creado o, como vemos aquí, como argumentos a la nueva columna. Así que voy a ejecutar el script. Y puede ver en el registro a continuación aquí que hemos creado esta instancia de un objeto de tabla de datos llamado datos de prueba. Y, por supuesto, esto es lo que vería si pasara el cursor sobre la variable dt en mi script. Y tengo la tabla de datos con una sola columna y siete filas. Y podemos ver todos los elementos del script indicados en la propia tabla. Por un lado, sé que el tipo de datos es numérico porque puedo ver que el ícono de tipo de modelado muestra que es continuo. Y el tipo de modelado continuo solo toma datos numéricos. Y además, los valores numéricos están justificados a la derecha. Si tuviéramos números tratados como caracteres, se dejarían justificados. Si echamos un vistazo a los iconos en el panel de columnas, está el icono de candado, lo que indica que bloqueé la columna. La pequeña marca de verificación indica esa verificación de rango. Y luego el asterisco indica cualquier cantidad de propiedades adicionales que no tienen sus propios símbolos únicos. Entonces, para ingresar al cuadro de diálogo de información de la columna, por supuesto, hay varias formas. Podemos tomar un atajo haciendo clic en este asterisco. Y vemos que esa propiedad son los límites de especificación. Puede haber, nuevamente, más de una propiedad listada en este menú desplegable. Y puedo seleccionar eso. Y eso me lleva a la información de la columna. Por supuesto, también podemos seleccionar la columna y usar el menú de columnas o hacer clic derecho en la columna y seleccionar la información de la columna. Por lo tanto, existen límites de especificación con los valores indicados en el argumento de propiedad establecida. También tenemos ese control de rango. Y nuevamente, es menor o igual, menor o igual, ese LELE se indica en la sintaxis genérica, y luego tenemos los valores reales. Aquí podemos ver que la columna ha sido bloqueada. El tipo de datos es numérico. El tipo de modelado es continuo. Y el formato es ese decimal fijo cuyo ancho de campo es el número máximo de caracteres que se pueden mostrar en la columna y tres decimales. Así que voy a cancelar el cuadro de diálogo de información de la columna. Y seguiré adelante y anularé la selección de esa columna de pH. Ahora, hay una opción en el menú desplegable de propiedades de la columna para establecer su propia propiedad de columna de usuario. Y si lo hace de forma interactiva, la opción de menú simplemente se llama Otro. Y usted nombra la propiedad y el valor que va a tomar. Tengo un script en el diario llamado Agregar propiedad de columna de usuario. Y estamos enviando esto a la columna de pH. Esta columna de usuario se llamará correctamente Calibración del medidor. Y solo quiero poner la fecha de hoy formateada como una cadena de caracteres de mes, día y año. Entonces, el texto aquí, el segundo argumento para establecer la propiedad, en este caso, uso la función Hoy para recuperar la cantidad de segundos desde la medianoche de enero en el momento en que ejecuto esta línea de código. Lo envuelvo en la función de formato y especifico el formato de cadena de caracteres en el que quiero que se muestre. Y nuevamente, esto podría ser un proceso de prueba y error cuando estás escribiendo un guión. Si solo hubiera proporcionado lo que he resaltado, y creo que podría haberlo hecho, hay... sí. Quería asegurarme de haber especificado el número correcto de paréntesis. Déjame ejecutar esto, lo que acabo de resaltar. Así que selecciono eso. Y yo Ctrl+R. Y veo que esa cadena de caracteres aparece exactamente como la quiero en el registro. Entonces, podría ejecutar este mensaje de establecimiento de propiedad, este código con el mensaje de propiedad, sin la función eval inicialmente. Y si hiciera eso, lo que vería cuando buscara en la columna de información la propiedad de calibración del medidor es literalmente el código. En realidad, no evaluaría. Por lo tanto, establecer la propiedad podría no evaluar su segundo argumento, lo que requiere que lo envolvamos en la función eval. Ahora, ejecutándolo fuera del mensaje de establecimiento de propiedades, esto simplemente... déjame continuar y ejecutarlo... va a devolver exactamente lo mismo. Entonces, esto podría ser algo en lo que inicialmente solo tiene el formato de la función Hoy y luego descubre que no devolvió lo que quería en las propiedades de su columna. Y luego te darías cuenta de que necesitabas agregar esa evaluación. Así que no voy a tener nada de esto seleccionado y voy a ejecutar este script. El mensaje que recibo aquí en el registro es simplemente programable. Significa que hice algo que era programable. Entonces, a veces encontrará que ejecutará algún código y lo que esperaba que sucediera no sucede. Y es posible que vea este mensaje programable. Entonces, debe tratar de averiguar qué salió mal en ese caso, porque realmente no obtiene información de la palabra scriptable. Pero en nuestro caso, pasemos a la mesa. Y nuevamente, simplemente podemos acceder a la información de la columna haciendo clic en este asterisco. Y lo hago de esta manera para mostrar que ahora tenemos otro elemento en ese menú. De nuevo, cualquier propiedad de columna que no tenga sus propios íconos únicos aparecerá en este menú de asterisco. Y haré clic en Calibración del medidor para que cuando se abra el cuadro de diálogo de información de la columna, esa sea la propiedad seleccionada. Y está ese resultado evaluado de usar la función Hoy y formatearla como una cadena de caracteres. Así que cancelaré eso. Y voy a usar la ventana del editor de secuencias de comandos de la propiedad Agregar columna de usuario para jugar un poco más con esta tabla. No es necesario que sea tan ancho ahora. Entonces quiero enviar una nueva columna como un mensaje a la tabla de datos ahora mismo. Y voy a llamar a esa nueva columna Hydronium. Y voy a agregar una fórmula después de crearla. Y, por supuesto, podría agregar la fórmula como parte de la creación de la columna. Y también voy a almacenar la referencia del objeto de columna que resulta del código en una variable. Y lo llamaré HYD, hyd por hidronio. Y lo asignaré como el resultado de enviar un mensaje a dt, porque ahí es donde almacenamos la referencia del objeto de datos de prueba. Así que envío el mensaje a dt nueva columna y luego abro paréntesis y cadena de caracteres. El único argumento requerido para la nueva columna es ese nombre de columna, Hydronium. Y voy a seguir adelante y ejecutar eso. Y almacenar ese resultado en esta variable significa que no necesito volver a escribir el nombre completo Hydronium. Entonces no tuve que almacenar esa referencia de objeto. Todavía puedo comunicarme con la columna. Pero esto solo me ahorra un poco de escribir para darle ese nombre abreviado. Ahora, supongamos, como mencioné, quiero agregar una fórmula a esta columna. Así que iré a una nueva línea. Y quiero tener cuidado de no volver a ejecutar accidentalmente todo el script y crear una segunda columna de Hydronium. Así que voy a comentar esta primera línea. Y voy a enviar un mensaje a esa variable hyd. Y el mensaje se establece fórmula. Y voy a elevar la fórmula a la potencia del pH negativo, así que aumente a-- y luego abriré paréntesis-- menos-- y usaré el operador de alcance de dos puntos porque me estoy refiriendo a la Columna de pH, solo para estar seguro, en caso de que haya algún otro nombre de variable ph flotando en mi espacio de nombres global. No estoy usando Names Default to Here, aunque, en la práctica, lo recomendaríamos como mejor práctica. Voy a escribir ese punto y coma y ejecutar esta línea del script. Nuevamente, vemos el mensaje programable en el registro. Pero podemos examinar la tabla y ver que esos valores se han rellenado. Hay un par de otras cosas con las que jugar trabajando con nuestras columnas y filas. Supongamos que quiero colorear celdas en una tabla de datos para marcar valores que excedan un número. Así que voy a ir a una nueva fila en la ventana del Editor de secuencias de comandos. Crearé una variable llamada llamada. Y asignaré que el resultado de la tabla de datos almacenada en dt que recibe el mensaje obtenga filas donde. Y luego mi comparación booleana será que los valores en la columna de pH son mayores que Entonces ejecutaré solo esa línea. Y puede ver que filas y obtener filas donde me devuelve un vector de columna de números de fila. Y luego voy a enviar un mensaje a pH. Y como esa referencia de objeto de columna no está almacenada en una variable, solo me referiré a ella por su nombre. Entonces pH va a recibir el mensaje de celdas de color. Así que este es otro mensaje que podemos enviar a una columna. Y usaré el nombre del color como primer argumento. También hay valores de índice y puede usar los valores rgb. Usaré el nombre como una cadena de caracteres. Así que voy a colorear esas celdas de rojo. Y luego el segundo argumento es, ¿qué celdas quieres colorear? Puede hacer toda la columna o puede proporcionar los números de fila. Así que voy a usar la variable Callout, que almacena las filas donde el pH es mayor que tres. Y correré solo esa línea. Por cierto, fíjate que olvidé poner un punto y coma. Eso ilustra que ese punto y coma final no es necesario. Es solo cuando tengo argumentos adicionales. Si observamos la tabla de datos ahora, puede ver que esas cuatro celdas se han coloreado de rojo. Así que esto podría ser algo agradable de hacer si tiene una gran tabla de datos y quizás tenga límites de especificación en algunas de las columnas. Puede colorear las celdas en función de esos límites de especificación para cosas que están fuera de especificación, por ejemplo, para marcarlas visualmente en la tabla de datos incluso antes de comenzar a mirar gráficos. Ciertamente no tiene que colorear las celdas, pero es una opción que se puede usar. Entonces, en esta demostración, vimos un ejemplo de cómo crear una nueva tabla de datos con una columna, agregar una columna a esa tabla de datos y jugar un poco con algunas de las cosas que podemos hacer con nuestras columnas y filas.