La función EXCEPT devuelve las filas de una tabla que no se encuentran en otra tabla.
EXCEPT(
table1,
table2
)
- table1: Expresión DAX que devuelve una tabla algunas de cuyas filas se van a devolver como resultado de la función.
- table2: Expresión DAX que contiene las filas que se desean excluir del resultado de la función.
La función EXCEPT devuelve una tabla.
table1 y table2 deberán tener el mismo número de columnas, y la tabla devuelta como resultado de la función tendrá los mismos campos que ellas.
Supongamos que tenemos una tabla, Top sales countries, que contiene los países con un total de ventas superior a cierta cifra:
Top sales countries = FILTER(
SUMMARIZE(Geography, Geography[Country], "Sales", [Total sales]),
[Total sales] > 3000000
)
Ahora deseamos saber qué países no se encuentran en dicha tabla. Para ello definimos la siguiente medida:
Non top sales countries =
VAR
all_countries = SUMMARIZE(Geography, Geography[Country], "Sales", [Total sales])
RETURN
EXCEPT(all_countries, 'Top sales countries')
Obsérvese cómo ha sido necesario crear una tabla, all_countries, con la misma estructura que la tabla cuyas filas queremos excluir del resultado.
En este caso hubiera sido más sencillo aplicar las funciones SUMMARIZE y FILTER para obtener directamente los países con ventas inferiores, pero de la forma en la que se ha hecho se ha podido aplicar la función EXCEPT, que era el objetivo.