ALLEXCEPT
Se aplica a:columna Calculada
tabla calculada
Medida
cálculo visual
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 |
Tabla sobre la que se quitan todos los filtros de contexto, excepto los filtros de las columnas especificadas en argumentos posteriores. |
column |
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 posteriores deben ser referencias a columnas base. No se pueden usar expresiones de tabla ni expresiones de columna con la función ALLEXCEPT.
Valor devuelto
Tabla con todos los filtros quitados excepto los filtros de las columnas especificadas.
Observaciones
Esta función no se usa por sí misma, pero actúa como una función intermedia que se puede usar para cambiar el conjunto de resultados en el que se realiza algún otro cálculo.
ALL y ALLEXCEPT se pueden usar en diferentes escenarios:
Función y uso Descripción ALL(tabla) Quita todos los filtros de la tabla especificada. En efecto, ALL(Tabla) devuelve todos los valores de la tabla, quitando los filtros del contexto que, de lo contrario, podrían haberse aplicado. Esta función es útil cuando se trabaja con muchos niveles de agrupación y se desea crear un cálculo que cree una relación de un valor agregado con el valor total. ALL (Columna[, Columna[, ...]]) Quita todos los filtros de las columnas especificadas de la tabla; Todos los demás filtros de otras columnas de la tabla se siguen aplicando. Todos los argumentos de columna deben proceder de la misma tabla. La variante de ALL(columna) es útil cuando desea quitar los filtros de contexto de una o más columnas específicas y mantener todos los demás filtros de contexto. ALLEXCEPT(Tabla, Columna1 [,Columna2]...) Quita todos los filtros de contexto de la tabla, excepto los filtros que se aplican a las columnas especificadas. Este es un acceso directo práctico para situaciones en las que desea quitar los filtros en muchas columnas de una tabla, pero no todas. Esta función no se admite para su uso en el modo DirectQuery cuando se usa en columnas calculadas o 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 los filtros de contexto de la tabla DateTime, excepto si el filtro se ha aplicado a la columna CalendarYear.
= CALCULATE(SUM(ResellerSales_USD[SalesAmount_USD]), ALLEXCEPT(DateTime, DateTime[CalendarYear]))
Dado que la fórmula usa ALLEXCEPT, siempre que se use cualquier columna, pero CalendarYear de la tabla DateTime se usa para segmentar una visualización, la fórmula quitará los filtros de segmentación, lo que proporcionará un valor igual a la suma de SalesAmount_USD. Sin embargo, si la columna CalendarYear se usa para segmentar la visualización, los resultados son diferentes. Dado que CalendarYear se especifica como el argumento para ALLEXCEPT, cuando los datos se segmentan en el año, se aplicará un filtro en años en el nivel de fila.