Hola,
Estoy tratando de verificar si un valor en una celda dentro de una variable se encuentra dentro de un rango de valores, entre 0.50 y 2.0, y si cae dentro de ese rango para devolver verdadero y si no devuelve falso. Estoy en la tabla de datos y en la información de la columna, y escribo lo siguiente en la fórmula de edición:
If (0.50 < ( :Name( "P1-R1-D1-L1" ) > 2.0), "True", "False") <BR /><BR />// and
<BR />If (0.50 < ( :Name( "P1-R1-D1-L1" ))|(2.0 > ( :Name( "P1-R1-D1-L1" ), "True", "False"))
pero tampoco me funciona, que estoy haciendo mal, cualquier ayuda sera muy apreciada
Gracias
gracias jeff muy buena explicacion
@txnelson te di un ejemplo de trabajo, pero puedo explicarte en qué te equivocaste en tus intentos.
If (0.50 < ( :Name( "P1-R1-D1-L1" ) > 2.0), "True", "False")
En este caso, está intentando una comparación compleja que JMP no admite, a saber, a < b > c, es decir, a menos que b mas grande que C.
Al mirar en el Editor de fórmulas, puede ver las complejas comparaciones que ofrece JMP y que @txnelson usado:

Observe el texto de ayuda que da una pista de que JMP es un lenguaje funcional y que estos operadores complejos son realmente abreviaturas para el funciones Less LessEqual() y LessEqual Less() . JMP no tiene una función para la comparación que querías hacer.
Para el segundo intento:
If (0.50 < ( :Name( "P1-R1-D1-L1" ))|(2.0 > ( :Name( "P1-R1-D1-L1" ), "True", "False"))
Tienes más paréntesis de los necesarios y están en los lugares equivocados. Aquí hay una versión corregida:
If( 0.50 < :Name( "P1-R1-D1-L1" ) | 2.0 > :Name( "P1-R1-D1-L1" ),
"True",
"False"
)
Sin embargo, consideremos lo que está pidiendo en esta comparación lógica. Le está pidiendo a JMP que verifique si su columna es mas grande que .5 o 2.0 es mas grande que tu columna Esto será cierto para todos los valores de su columna. Si su columna es menor que .5, entonces 2.0 será mayor que su columna. Si su columna es mayor que 2.0, entonces .5 será menor que su columna.
Entonces, probablemente quieras la versión que @txnelson provisto, verificando si su columna está dentro del rango de .5 a 2.0 usando la construcción a < b <= c.
Aquí hay una pieza de JSL que crea una columna bajo las especificaciones que proporcionó
Names Default To Here( 1 );
dt = New Table( "Example",
add rows( 20 ),
New Column( "P1-R1-D1-L1", formula( Random Uniform( 0, 4 ) ) )
);
dt << New Column( "TorF",
character,
formula( If( 0.50 <= :Name( "P1-R1-D1-L1" ) <= 2.0, "True", "False" ) )
);