Compruebe si los valores de varias columnas se encuentran dentro del rangoTabla de muestra:
Parte Prueba 1 Prueba 2 Prueba 3 Prueba 4 A 0,2 0,4 0,3 0,1 B 0,2 0,3 0,4 0,6 C 0,7 0,1 0,2 0,4Me gustaría agregar una columna a esta tabla que evalúe cada valor en las columnas Prueba 1-Prueba 4, y si todos caen dentro de un rango para generar "Sí".
Por ejemplo, si mi rango fuera 0 <0,5, el resultado se vería así (he resaltado los valores fallidos en rojo)
Parte Prueba 1 Prueba 2 Prueba 3 Prueba 4 Sí/No A 0,2 0,4 0,3 0,1 Sí B 0,2 0,3 0,4 0,6 No C 0,7 0,1 0,2 0,4 No¿Hay una manera simple de lograr esto con JSL?
Re: Comprobar si varios valores de columna están dentro del rango<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />hola hooshies,
para responder a su pregunta exacta, el siguiente script puede hacerlo.
Una solución más general depende del aspecto que necesita generalizarse (es decir, más columnas, diferentes rangos para diferentes columnas y si lo desea en una fórmula de columna o solo para que jsl lo calcule una vez)
dt = Nueva tabla ( "Fuente de datos" ,
Agregar filas ( 3 ) ,
Nueva columna ( "Parte" , Personaje , Nominal , Establecer valores ( { "A" , "B" , "C" } ) ) ,
Nueva columna ( "Prueba 1" , Establecer valores ( [ 0.2 , 0.2 , 0.7 ] ) ) ,
Nueva columna ( "Prueba 2" , Establecer valores ( [ 0.4 , 0.3 , 0.1 ] ) ) ,
Nueva columna ( "Prueba 3" , Establecer valores ( [ 0.3 , 0.4 , 0.2 ] ) ) ,
Nueva columna ( "Prueba 4" , Establecer valores ( [ 0.1 , 0.6 , 0.4 ] ) ) ,
) ;
dt << Nueva columna ( "Sí No" ,
Personaje ,
Nominal ,
Fórmula (
Si (
Máximo (
Abdominales ( : Prueba 1 ) ,
Abdominales ( : prueba 2 ) ,
Abdominales ( : Prueba 3 ) ,
Abdominales ( : Prueba 4 )
) > 0.5 ,
"No" ,
"Sí"
)
)
) ;
Re: Comprobar si varios valores de columna están dentro del rango<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Ron,
Gracias por tu respuesta. El script que proporcionó hace el trabajo en esta situación, pero me gustaría una solución más robusta/general (por ejemplo, cuando los límites de mis criterios de prueba son 0,23 <0,5).
¿Hay alguna manera de establecer una fórmula de columna o escribir una solución en la que varias columnas se traten como una matriz?En pseudocódigo:
límite_inferior = 0.23
límite_superior = 0.5
Si límite_inferior < [Columna(2), Columna(3), Columna(4), Columna(5)]
decir "Sí"
Demás
Disp "No"
El pseudocódigo aquí probaría cada valor en las columnas 2-5 individualmente contra los límites, y generaría "Sí" si todos están dentro del rango.
Múltiples declaraciones AND/OR lograrían esto, pero parece un enfoque elemental.
¡Gracias!
Re: Comprobar si varios valores de columna están dentro del rango<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />ron_horne El método de se puede generalizar. La clave es reconocer que el Funciones mínima() y máxima() devolver el valor mínimo/máximo de sus argumentos. Entonces, tal como lo planteas, la comparación se puede escribir:
Minimum( :Test 1, :Test 2, :Test 3, :Test 4 ) > 0.23 &
Maximum( :Test 1, :Test 2, :Test 3, :Test 4 ) < .5;
-Jeff
Re: Comprobar si varios valores de columna están dentro del rango<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Nueva columna ("¿Dentro del rango?", Fórmula(
Si(
Min( :Prueba 1, :Prueba 2, :Prueba 3, :Prueba 4 ) > 0 &
Max( :Prueba 1, :Prueba 2, :Prueba 3, :Prueba 4 ) < 0.5,
"Sí",
"No"
)
)