La función ISONORAFTER devuelve un booleano en función de que se cumplan o no las condiciones indicadas para la fila siendo considerada.
ISONORAFTER(
scalar_expression,
scalar_expression
[, sort_order
[, scalar_expression, scalar_expression, sort_order...]]
)
- scalar_expression: Cualquier expresión que devuelva un escalar o una columna. Típicamente el primer argumento es una columna y el segundo un valor escalar.
- sort_order: Argumento opcional. Orden en el que las expresiones son consideradas. Puede ser ascendente (ASC, valor por defecto) o descendente (DESC).
La función ISONORAFTER devuelve un booleano.
Los argumentos que definen cada condición se incluyen de tres en tres. Si solo se está especificando una condición, el argumento que indica el orden es opcional, pero si se están especificando dos o más condiciones, dicho parámetro pasa a ser obligatorio para todas las condiciones menos para la última.
La función devuelve True cuando se cumplen todas las condiciones.
En función del orden especificado para cada condición, el primer argumento se compara con el segundo. En el caso de que el orden sea ascendente, la función devuelve True para todos los valores del primer argumento que sean mayor o igual que el segundo. Si es descendente, la función devuelve True si el segundo argumento es mayor o igual que el primero.
Partimos de un modelo de datos que incluye una tabla de ventas ("Sales") con información sobre el número de unidades vendidas (campo "Units") y una tabla de localizaciones geográficas ("Geography") con información sobre el país en el que se realiza la venta (campo "Country"). Los países incluidos son Italy, France, Portugal y Spain (lista en orden alfabético).
Podemos crear una nueva tabla filtrando la tabla de ventas imponiendo como condición que el país sea Portugal "o superior" (Spain, considerados en orden alfabético), y que las ventas involucren 3 unidades o menos:
Tabla =
FILTER(
Sales,
ISONORAFTER(
RELATED(Geography[Country]), "Portugal", ASC,
Sales[Units], 3, DESC
)
)
Sin embargo, aun cuando en la documentación de Microsoft se especifica que la función devolverá True solo cuando se cumplan todas las condiciones, esto no es lo que ocurre en la práctica. Y podemos comprobarlo llevando a una visualización tipo tabla la lista de países resultante, y el número mínimo y máximo de unidades vendidas por país:
Vemos que las dos condiciones impuestas se cumplen para Portugal, pero no para España.