ALLEXCEPT

Se aplica a:Columna calculadaTabla calculadaMedidaCálculo visual

Quita todos los filtros de contexto de la tabla, excepto los que se han aplicado a las columnas especificadas.

Sintaxis

ALLEXCEPT(<table>,<column>[,<column>[,…]])  

Parámetros

Término Definición
tabla Tabla en la que se quitan todos los filtros de contexto, excepto los filtros de las columnas especificadas en los argumentos siguientes.
columna Columna para la que se deben conservar los filtros de contexto.

El primer argumento de la función ALLEXCEPT debe ser una referencia a una tabla base. Todos los argumentos subsiguientes deben ser referencias a las columnas base No se pueden usar expresiones de tabla ni de columna con la función ALLEXCEPT.

Valor devuelto

Una tabla con todos los filtros quitados, excepto los filtros de las columnas especificadas.

Notas

  • Esta función no se usa por sí sola, sino que sirve como función intermedia que se puede usar para cambiar el conjunto de resultados en el que se realiza otro cálculo.

  • ALL y ALLEXCEPT se pueden usar en escenarios diferentes:

    Función y uso Descripción
    ALL(Table) Quita todos los filtros de la tabla especificada. En efecto, ALL(Table) devuelve todos los valores de la tabla, quitando los filtros de contexto que pudieran haberse aplicado. Esta función resulta útil cuando se trabaja con muchos niveles de agrupación y se quiere crear un cálculo que cree una proporción de un valor agregado al valor total.
    ALL (Column[, Column[, …]]) Quita todos los filtros de las columnas especificadas de la tabla. Todos los demás filtros de las demás columnas de la tabla se siguen aplicando. Todos los argumentos de columna deben proceder de la misma tabla. La variante ALL(Column) resulta útil cuando se quieren quitar filtros de contexto de una o varias columnas específicas y conservar todos los demás filtros de contexto.
    ALLEXCEPT(Table, Column1 [,Column2]...) Quita todos los filtros de contexto de la tabla, excepto los que se aplican a las columnas especificadas. Se trata de un cómodo acceso directo para las situaciones en las que se quieren quitar filtros en muchas columnas de una tabla, pero no en todas.
  • Esta función no se admite para su uso en el modo DirectQuery cuando se utiliza en columnas calculadas o en reglas de seguridad de nivel de fila (RLS).

Ejemplo

La fórmula de medida siguiente suma SalesAmount_USD y usa la función ALLEXCEPT para quitar todos los filtros de contexto en la tabla DateTime, excepto si el filtro se ha aplicado a la columna CalendarYear.

= CALCULATE(SUM(ResellerSales_USD[SalesAmount_USD]), ALLEXCEPT(DateTime, DateTime[CalendarYear]))  

Como la fórmula usa ALLEXCEPT, cada vez que se use una columna, salvo CalendarYear, de la tabla DateTime para segmentar la visualización, la fórmula quitará los filtros de segmentación y proporcionará un valor igual a la suma de SalesAmount_USD. Pero si se usa la columna CalendarYear para segmentar la visualización, los resultados son diferentes. Como se ha especificado CalendarYear como el argumento para ALLEXCEPT, cuando los datos se segmenten en el año, se aplicará un filtro en los años en el nivel de fila.

Funciones de filtro
Función ALL
FILTER (función)