Una función condicional realiza una acción o un cálculo a partir de una prueba de datos utilizando una instrucción IF Utiliza una función condicional con el fin de proporcionar un resultado verdadero o falso para resaltar o filtrar datos basados en criterios específicos. Las funciones condicionales pueden utilizarse con cualquier tipo de dato.
Ten en cuenta cada función condicional antes de elaborar tu prueba. Algunas funciones condicionales se adaptan mejor a casos prácticos específicos.
IF c THEN t ELSE f ENDIF
: devuelve “t” si la condición “c” es verdadera, de lo contrario devuelve “f”.
IF [Class]==1 THEN "Gold" ELSE "Other" ENDIF
Class | Resultado |
---|---|
1 | Gold |
2 | Other |
1 | Gold |
3 | Other |
IF c THEN t ELSEIF c2 THEN t2 ELSE f ENDIF
: devuelve “t” si la primera condición “c” es verdadera, de lo contrario devuelve “t2” si la segunda condición “c2” es verdadera, de lo contrario devuelve “f”.
Se pueden incluir múltiples instrucciones ELSEIF.
IF [Class]==1 THEN "Gold" ELSEIF [Class]==2 THEN "Silver" ELSE "Other" ENDIF
Class | Resultado |
---|---|
1 | Gold |
2 | Silver |
1 | Gold |
3 | Other |
IIF(bool, x, y)
: devuelve “x” si “bool” es verdadero; de lo contrario, devuelve “y”.
IIF([CUSTOMER], "Send flyer", "Send documentation")
Si el valor del campo [CUSTOMER] es TRUE, entonces devuelve “Send flyer”.
Si el valor del campo [CUSTOMER] es FALSE, entonces devuelve “Send documentation”.
Switch(Value,Default,Case1,Result1,…,CaseN,ResultN)
: compara un valor con una lista de casos y devuelve el resultado correspondiente.
En este ejemplo, pasamos a la columna “Class” donde los valores son diversos tipos de metales. En la función, definimos el caso y el resultado para cada tipo de metal.
Cuando ejecutamos la función, la función lee el valor en la columna “Class”. A continuación, busca ese valor en la lista de casos y, si se encuentra una coincidencia, devuelve el resultado asociado a ese caso. Por ejemplo, si el valor es “Silver”, la función busca “Silver” en la lista de casos y devuelve el resultado correspondiente, 2 en este caso.
Switch([Class], Null(), "Gold",1,"Silver",2,"Bronze", 3,"Tin", 4, "Aluminum",5)
Class | Resultado |
---|---|
Aluminum | 5 |
Silver | 2 |
Gold | 1 |
Bronze | 3 |
Tin | 4 |
Silver | 2 |
Gold | 1 |
Other | Null |