Resolución del ejercicio

Efectivamente, los cálculos realizados en ambas variables están devolviendo el mismo resultado, cosa que podríamos comprobar si modificásemos (temporalmente) nuestra medida para mostrar no el resultado de la división, sino el supuesto total de ventas que estamos obteniendo:

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

Si damos a la medida formato de moneda, nuestra matriz mostrará lo siguiente:

Sales %

Es decir, el resultado de nuestro CALCULATE es el mismo que el devuelto por la medida [Sales] o, dicho con otras palabras, no estamos eliminando los filtros adecuadamente.

Pensemos: ¿Cuál es el contexto de filtro inicial que rodea al cálculo de la medida [Sales %] para 2015, por ejemplo? (en rojo en la imagen anterior). Bueno, solo hay una fuente de filtrado, que es… ¿el campo [Date] de la tabla calendario? ¡No! El contexto de filtro inicial está filtrando el año que se ha extraído de la columna Calendar[Date]. Y no es lo mismo. ¿Y dónde está esa supuesta columna conteniendo el año? No lo sabemos.

De forma que, como para obtener el resultado que queremos tenemos que limpiar la columna correcta pero no la vemos -ni podemos verla-, no nos queda otro remedio más que limpiar los filtros que se estén aplicando a toda la tabla Calendar, de la siguiente manera:

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

Ahora la matriz sí muestra el resultado esperado:

Sales %

Este es el planteamiento que se sigue en la sección correspondiente del bloque teórico dedicado a la función CALCULATE.

¿Alguna vez te has preguntado cómo es posible que, en los objetos visuales que involucren al campo Calendar[Date], podamos navegar por la jerarquía temporal (años, trimestres, meses y días) aun cuando no exista esta jerarquía en nuestra tabla? La respuesta es que esta jerarquía sí existe, pero no en nuestra tabla calendario. Por defecto, Power BI generar una tabla oculta para cada campo de fecha que haya en nuestro modelo de datos, tabla en la que se desglosa cada fecha según sus niveles jerárquicos y se crea esa jerarquía. Es esta tabla la que nuestra matriz estaba filtrando.