Función ALLEXCEPT (DAX)

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

Sintaxis

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

Parámetros

Término

Definición

table

La tabla de la que se quitan todos los filtros de contexto, excepto los filtros de la columnas que se especifican en los argumentos subsiguientes.

column

La columna en la que se deben mantener los filtros de contexto.

El primer argumento para la función ALLEXCEPT debe ser una referencia a una tabla base; todos los argumentos subsiguientes deben ser referencias a las columnas base. Con la función ALLEXCEPT no se pueden usar expresiones de tabla o de columna.

Valor devuelto

Tabla con todos los filtros quitados excepto los filtros de las columnas especificadas.

Comentarios

Esta función no se usa por sí sola, sino que sirve de función intermedia que se puede usar para cambiar el conjunto de resultados en los que se realizan otros cálculos.

Tal y como se describe en la siguiente tabla, puede utilizar funciones ALL y ALLEXCEPT en escenarios diferentes.

Función y uso

Descripción

ALL(Table)

Quita todos los filtros de la tabla especificada. La función ALL(Table) devuelve todos los valores de la tabla y quita los filtros del contexto que, de otra forma, se podrían haber aplicado.

Esta función resulta útil cuando se trabaja con muchos niveles de agrupación y se desea elaborar 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 desea quitar los 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 filtros que se aplican a las columnas especificadas.

Es un acceso directo conveniente para las situaciones en las que desea quitar los filtros en muchas columnas de una tabla, pero no en todas.

Ejemplo

En el siguiente ejemplo se presenta una fórmula que puede utilizar en una medida. Para obtener más información acerca de cómo crear una medida, vea Crear una medida en una tabla dinámica o gráfico dinámico.

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

Nota

El ejemplo anterior usa las tablas ResellerSales_USD y DateTime del libro de ejemplo de DAX. Para obtener más información acerca de los ejemplos, vea Obtener datos de muestra para PowerPivot .

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

Como la fórmula usa ALLEXCEPT, siempre que se use cualquier columna de la tabla DateTime, excepto CalendarYear, para segmentar la tabla dinámica, la fórmula quitará los filtros de segmentaciones, proporcionando un valor igual a la suma de SalesAmount_USD para el valor de etiqueta de columna, tal como se muestra en la tabla 1.

No obstante, si se usa la columna CalendarYear para segmentar la tabla dinámica, los resultados son distintos. Como CalendarYear se ha especificado como el argumento para ALLEXCEPT, cuando los datos se segmentan en el año, se aplicará un filtro en los años en el nivel de fila, tal como se muestra en la tabla 2. Se recomienda al usuario que compare estas tablas para entender el comportamiento de ALLEXCEPT().

Vea también

Referencia

Otros recursos