Ejercicio

En este ejercicio se plantea un objetivo y una posible solución que, por algún motivo, no funciona:

Se desea mostrar una matriz con fechas en filas (las procedentes del calendario) y, en valores, la suma de ventas y el porcentaje que éstas suponen con respecto a las ventas totales, y tenemos que crear la medida que devuelve este porcentaje.

Con este objetivo creamos la matriz llevando el campo Calendar[Date] a filas y la medida [Sales] a valores:

Sales %

Se desea ahora crear la medida que calcule el porcentaje que suponen las ventas actuales (las ventas “visibles”) con respecto a las ventas totales, para lo que no tenemos más que dividir dichas ventas “visibles” por el total. En este caso, para calcular el total tendremos que forzar el cálculo de forma que se ignoren los filtros que se estén aplicando a las fechas, lo que podemos conseguir tanto con la función REMOVEFILTERS como con ALL. De modo que nuestro primer intento es el siguiente:

Sales % = 
VAR __sales = [Sales]
VAR __allSales =
    CALCULATE(
        [Sales],
        ALL('Calendar'[Date])
    )
RETURN
    DIVIDE(
        __sales,
        __allSales
    )

Es decir, calculamos en la variable __sales las ventas actuales, en __allSales las ventas para todo el calendario y devolvemos la división. Sin embargo, si añadimos la nueva medida a nuestra matriz, el resultado no es el esperado:

Sales %

De hecho, es como si no estuviésemos limpiando el filtro y, por lo tanto, tanto __sales como __allSales estuviesen devolviendo la misma cifra: las ventas actuales.

¿Dónde puede estar el error?