La función IF permite evaluar una o más expresiones, devolviendo el primer valor para el que se cumpla la condición correspondiente.
IF <condición> THEN <resultado>
ELSEIF <condición> THEN <resultado>
ELSE <resultado>
END
- condición: Condición a evaluar
- resultado: Resultado a devolver si la expresión anterior se cumple
La función IF devuelve un escalar (número, cadena de texto, booleano...)
La función IF devuelve el primer <resultado> para el que se satisfaga la <condición> que lo preceda. Es posible agregar tantos bloques ELSEIF como se desee.
En el caso de no satisfacerse ninguna de las condiciones, se devolverá el valor que acompañe a la función ELSE, si es que ésta está presente.
Si no se cumple ninguna condición y no se ha añadido la función ELSE, la función IF devuelve un valor nulo.
Podemos crear un campo calculado ("Sales ABC") que devuelva el carácter "A" si la suma de las ventas es mayor que 150.000, el carácter "B" si dicha suma es mayor que 75.000, o el carácter "C" si no se cumple ninguna de las dos condiciones anteriores de la siguiente forma:
IF SUM([Amount]) > 150000 THEN "A"
ELSEIF SUM([Amount]) > 75000 THEN "B"
ELSE "C"
END
Si llevamos este campo calculado a un mapa de países y ciudades, el resultado es el siguiente: