
En esta demostración, veremos las funciones booleanas, así como la función If. Abriré una ventana del editor de scripts. El atajo de teclado es Ctrl+T o puedes ir al menú Archivo y usar la barra de herramientas. Hay muchas maneras de abrir la nueva ventana del Editor de scripts. Mostraré el registro delante del diario. De vuelta en la ventana del Editor de scripts, escribiré el código donde asigno el valor de a la variable x. Inicializaré eso. Luego, en una nueva línea, haré una comparación. Una de las ventajas de JSL es que podemos unir argumentos mediante operadores de comparación y hacer que JMP los trate como una sola cláusula. Si escribo "menor que x" (menor que igual), se evaluará todo de una vez en lugar de secuencialmente, ya que estos operadores de comparación, cuando JMP los ve unidos de esta manera, son los llamados operadores de elidencia. Entonces puedo ejecutar esa línea, y por supuesto, esa es una comparación verdadera que es mayor que mientras que es menor o igual a Entonces obtengo el booleano como resultado. Ahora, probablemente nuestro uso más común de las funciones de comparación es cuando estamos probando condiciones particulares, por ejemplo, en una función If. Entonces voy a cambiar la primera línea y reemplazar el con un Entonces estoy asignando el valor de a x. Y luego voy a reemplazar la segunda línea completamente con mi declaración If. Entonces If y then entre paréntesis, x menor que coma, los resultados que devolverán serán la cadena de caracteres debajo del límite. Entonces esta es una declaración if/then simple. Si la condición evalúa como verdadera, devuelvo este resultado. Si la condición evalúa como falsa, no evalúo el segundo argumento y devuelvo un valor faltante. Entonces voy a ejecutar todo este script. Nuevamente, el atajo de teclado para eso, Ctrl+R. Entonces si x está almacenando el valor, entonces es menor que y obtenemos este resultado. Pero si cambio el valor que asigné a x y ejecuto todo el script, obtengo ese valor faltante porque esa condición no era verdadera. Y de nuevo, podemos tener un resultado else. Entonces, si la condición no es verdadera, en lugar de un valor faltante, devolveré este otro resultado. Y aquí, abriré mis comillas dobles y escribiré Por encima del límite. Y si ejecuto todo el script, obtengo ese otro resultado. Entonces, la función If puede tomar tantas condiciones y resultados como sean necesarios, y luego siempre puede tener ese otro resultado si todas las condiciones se evalúan como falsas. Entonces, en el siguiente ejemplo, tomaremos una tabla de edades de personas en años y la clasificaremos en una de las etapas de desarrollo psicológico de Erik Erikson. Entonces, volveré al diario en Sección y haré clic en Datos de edad. Entonces, tenemos individuos, y queremos agruparlos en estas etapas de desarrollo psicológico. Entonces, nuevamente, de vuelta en el diario, haré clic en Script de edad a etapa. Este script preescrito del diario envía el mensaje "Nueva columna" a la tabla de datos "Edad". La columna se llamará "Etapa" y se especificará que el tipo de dato será "carácter". Una vez creada la columna, se usará la función "para cada fila" para rellenarla mediante una instrucción "Si". Recuerde que, una vez que JMP encuentra una condición verdadera en la instrucción "Si", el único argumento adicional que se evaluará será el resultado correspondiente. Ninguna de las demás condiciones se evaluará. Por lo tanto, para una persona que tiene edad, todas estas comparaciones de edad son verdaderas, pero en cuanto evaluamos "Sí, es mayor que", devolvemos el resultado "Adulto Tardío" y pasamos a la siguiente fila, ya que lo hacemos en el contexto de la iteración. De esta manera, no es necesario encerrar cada nivel. Podemos simplemente indicar si es mayor que, si es mayor que, y así sucesivamente. Considere los datos, en este caso, que están distribuidos de forma bastante uniforme. Si observas los datos y observas que tienden a tener muchas observaciones en el extremo superior o en el extremo inferior, ese es el extremo de la distribución desde el que debes comenzar a agrupar, ya que si hay muchísimas personas cuya edad es mayor que la indicada en la tabla de datos, en muchas filas, la tabla evaluará esta condición, devolverá este resultado y pasará al siguiente paso de la iteración en lugar de evaluar todo lo demás. Por lo tanto, en cualquier fila (y, de nuevo, si esa es la mayoría de las personas con edad mayor), acelerarás el procesamiento del script al pasar a la siguiente iteración en cuanto se encuentre el resultado correcto. Ejecutemos el script. Puedes ver que la columna se creó y se rellenó con la instrucción "If". Otros dos tipos de funciones que queremos abordar son las funciones lógicas y las funciones de consulta. En muchos casos, necesitas probar más de una condición a la vez. Y puedes lograrlo combinando las condiciones de forma lógica. Y algunos ejemplos de funciones lógicas serían las funciones AND y OR. Entonces, la función AND, que tiene el operador ampersand, asegurará que todas las condiciones sean verdaderas. La función OR tiene el operador de barra vertical. Eso asegura que al menos una condición sea verdadera. Entonces, simplemente usaré la ventana de script donde tengo el script Age to Stage y lo limpiaré. Voy a definir x como asignado al valor de punto y coma, y se le asignará el valor de otro punto y coma, y voy a escribir todo en una línea y dejar que el reformateo limpie las cosas. Entonces, si está entre paréntesis, x menor que Y luego el operador aquí para OR es esa barra vertical, barra vertical, si x menor que O y mayor que Así que esa es mi condición. Escriba una coma allí. Si alguno de esos o ambos son verdaderos, entonces devolveré el resultado condición cumplida. Y si ninguno es verdadero, devolveré el resultado como una cadena de caracteres condición no cumplida. Y escribiré de nuevo el punto y coma final. Como recordatorio, consideramos que es una buena práctica, pero no es obligatorio terminar el script con un punto y coma. Haré clic derecho para reformatear. Así que, después de escribirlo todo en una sola línea, lo arreglaré un poco. Si ejecuto el script y al menos una de esas dos condiciones es verdadera, espero obtener el primer resultado. Y eso es, de hecho, lo que obtengo en el registro. Si necesito que ambas condiciones sean verdaderas, reemplazaré el operador de barra vertical por el ampersand. En este caso, solo una condición es verdadera, pero no ambas. Así que espero obtener el resultado "sino". Y al ejecutarlo, eso es lo que veo en el registro. El otro tipo de función que mencioné son las funciones de consulta. A veces, se desea verificar la naturaleza de un valor. Por ejemplo, tal vez se necesite saber si el valor es un número o una lista. Hay muchos tipos diferentes de valores posibles. En algunos casos, podrías obtener un error si intentas ejecutar un script con un valor incorrecto almacenado en una variable. Por lo tanto, debes asegurarte de consultarlo, y tal vez tu script se ejecute de una manera u otra, dependiendo de la naturaleza del valor en esa variable. Así que voy a borrar el contenido del Editor de Scripts de nuevo. En la primera línea, voy a asignar a la matriz xa. Así que escribiré x, la función de asignación, y luego corchete, espacio y coma. Así que esa es mi primera fila. Espacio es mi segunda fila. Cierro el corchete, escribo mi punto y coma, y luego haré esto en el contexto de una declaración if. También quiero mostrarte que existe esta capacidad de autocompletar para funciones en JSL. Y si escribo las primeras letras de una función. En este caso, todas las funciones de consulta comienzan con las letras IS para is. Y luego presiona la tecla Control y la barra espaciadora. Puedo desplazarme hacia abajo por esta lista para encontrar la función de consulta que quiero. En este caso, usaré "Es Matriz" y luego presionaré Enter para seleccionarla y JMP completará la función automáticamente. Por supuesto, aún tengo que abrir los paréntesis, escribiré una x, cerraré los paréntesis y, antes del paréntesis de cierre de la instrucción "Si", escribiré una coma y usaré los mismos resultados: condición cumplida, comillas dobles cerradas, coma, comillas dobles abiertas, condición no cumplida. Desplazo con las flechas para asegurarme de que todos estén alineados y hago clic derecho para reformatear. En este caso, "x" almacena una matriz. Espero obtener este primer resultado, y al ejecutar el script, lo obtengo. Supongamos, sin embargo, que mi script va a hacer algo diferente si lo que "x" almacena es una cadena. Quizás sea una entrada del usuario, quizás se recupere de una tabla de datos o de otro lugar. Voy a cambiar la palabra "matriz" por "cadena" y ejecutar el script. Por supuesto, obtengo el resultado "else" porque la condición se evaluó como falsa. Aquí vieron algunos ejemplos de funciones booleanas que usan la función "Si" para agrupar datos, así como su uso junto con funciones lógicas y de consulta.