Ciertamente en DAX todos llegan a un punto donde necesitan que un número quede totalizado y no filtrado por nuestro contexto para llegar a cierta matemática. Un claro y típico ejemplo es el "Porcentaje del total…" Normalmente ese porcentaje requiere un numerador con el valor de la fila y un denominador con un valor total completamente distinto al valor de la línea.
Cuando llega esta necesidad de que una medida calculada me muestre en una fila un valor totalizado que no es para esa fila, dicho técnicamente que ignore el filtro o contexto de esa fila, es cuando vamos a utilizar las funciones de tabla descritas en este artículo. Un claro ejemplo sería ver una tabla de 5 artículos con sus ventas pero necesito una columna que diga el total de las ventas de los cinco artículos en cada fila para poder dividir la venta de 1 de ellos respecto de los 5 artículos para saber el porcentaje que representa de las ventas.
Para nutrirnos de los ejemplos a construir vamos a utilizar una medida de ventas (clásico sales amount que representa precio unitario por cantidad) dentro de una función calculate que usamos normalmente en las medidas para llevar cálculos numéricos bajo los cuales controlemos el contexto de filtro.
Definición de funciones
ALL: Devuelve todas las filas de una tabla, o todos los valores de una columna, omitiendo los filtros que se puedan haber aplicado.
ALL( [<table> | <column>[, <column>[, <column>[,…]]]] )
Significa que la tabla o la columna con ALL devolvería todas las combinaciones únicas posibles del parámetro. Es como decir Select Distinct [Columna] From [Tabla]. La particularidad al usarlo como parte de un filtro en un cálculo es que evitará que lo que devuelve la función sea afectado por cualquier filtro en pantalla.
ALLSELECTED: Quita los filtros de contexto de las columnas y las filas de la consulta actual, a la vez que conserva todos los demás filtros de contexto o filtros explícitos.
ALLSELECTED([<tableName> | <columnName>[, <columnName>[, <columnName>[,…]]]] )
Esto quiere decir que comparte la característica inicial de ALL de omitir los filtros pero la omisión es solo aplicada dentro de la visualización en la que se ejecuta. Un filtro externo si la afectaría a diferencia de ALL que no sería afectada.
ALLEXCEPT: Quita todos los filtros de contexto de la tabla, excepto los que se han aplicado a las columnas especificadas.
ALLEXCEPT(<table>,<column>[,<column>[,…]])
Nuevamente ésta función comparte la característica de ALL de omitir los filtros pero tiene la diferencia, como su nombre lo indica, que va a aceptar los filtros sobre la tabla en parámetro de aquellas columnas elegidas. Esto quiere decir que la respuesta de la función será igual a ALL a menos que se use o filtre por una de las columnas descritas como parámetro de la función.
Ejemplo
Visto de ese modo las tres tienen la semejanza que ignoran el contexto de la tabla/columna que mencionemos con la diferencia que allselected y allexcept van a permitir ciertas características o excepciones. La diferencia entre las funciones parece muy pequeña pero es notable al momento de construir una medida que nos represente el número deseado para la visualización que estamos trabajando o en la cual deseamos representar el requerimiento pedido.
Prestemos atención a la siguiente imagen:

El resultado de ALL representaría el total de ventas en la historia sin importar el rango de fechas filtrado ni el contexto de filas escribiendo el total para cada día.
Por otro lado, ALLSELECTED mostraría el total de ventas en el rango de fechas filtrado pero omitiendo el contexto de filas escribiendo su total para cada día.
Por último, ALLEXCEPT reflejaría el total de ventas en la historia sin importar el rango de fecha pero si considera dentro del contexto de filas a cada día como lo indica su código y por ello será un valor distinto para cada día.
Cada cual nos será de utilidad de formas distintas. Lo importante es entender como funcionan para que cuando nos pidan un porcentaje del total de ventas permitiendo X filtros podamos decir "ok, voy a usar un allexcept para que ciertos filtros afecten al denominador y entiendan el porque.