La función IIF evalúa una expresión y devuelve un cierto valor si el resultado es TRUE, otro si es FALSE, y un tercero si es NULL o un valor desconocido.
IIF(
<condición>,
<valor-verdadero>,
<valor-falso>,
<valor-nulo>
)
- condición: condición a evaluar
- valor-verdadero: valor a devolver si el resultado de condición es verdadero
- valor-falso: valor a devolver si el resultado de condición es falso
- valor-nulo: valor a devolver si el resultado de condición es nulo o desconocido
La función IIF devuelve alguno de los tres valores incluidos como parámetros.
Los valores a devolver pueden ser expresiones o escalares.
Partamos de la siguiente tabla de datos:
Supongamos que los impuestos son de un 20% para las ventas superiores a 20, 10% para las ventas inferiores o iguales a 20, y 0 para las ventas nulas. Para devolver este resultado podemos crear el siguiente campo calculado:
IIF(
[Sales]>20,
[Sales]*0.20,
[Sales]*0.10,
0
)
Si llevamos al estante de ventas el campo conteniendo el año, el campo conteniendo las ventas y el campo calculado -todos como valores discretos-, obtenemos el siguiente resultado: