La función ALLEXCEPT elimina todos los filtros de contexto aplicados a la tabla indicada salvo los que hagan referencia a las columnas incluidas como argumentos.
ALLEXCEPT(
<table>,
<column>
[,<column>
[,...]]
)
- table: Tabla cuyos filtros se desea eliminar.
- column: Nombre de la/s columna/s cuyos filtros se desean dejar.
La función ALLEXCEPT devuelve una tabla.
La función ALLEXCEPT es útil para realizar un cálculo que afecte a todas las filas de una tabla con independencia del contexto del cálculo. Suele utilizarse como función intermedia en un cálculo (normalmente como argumento en una función CALCULATE) para modificar el conjunto de filas sobre el que se quiere realizar. En la práctica -usada como argumento en una función CALCULATE- elimina el filtro del contexto para todas las columnas excepto para las incluidas como argumentos.
Un caso en el que su uso resulta muy útil es cuando queremos aplicar la función ALL a la mayor parte de columnas de una tabla. En este caso resultará más sencillo utilizar la función ALLEXCEPT para indicar las columnas a las que no se desea aplicar la funcionalidad ofrecida por ALL en lugar de utilizar función ALL directamente y tener que añadir como argumentos todas las columnas a las que aplicar la funcionalidad. Deberá tenerse en cuenta que si, posteriormente, se añade una nueva columna a la tabla, la función también se aplicará a ella salvo que se añada explícitamente a la lista de argumentos.
La medida
Total Sales = CALCULATE(FactSales[Sales], ALLEXCEPT(DimDate, DimDate[CalendarMonth]))
calcularía la suma de las ventas ignorando cualquier filtro que se esté aplicando en la dimensión temporal salvo los que hagan referencia al mes.