Existencia de claves primarias en la tabla

Sin embargo, si nos fijamos en la tabla de subcategorías veremos que el campo Subcategory Id es una clave primaria de la tabla (no contiene valores repetidos):

Subcategory

Es decir, dado un valor concreto para esa columna, sabemos que estamos seleccionando una y solo una fila. Esto supone que podemos extraer dos conclusiones del código de Subcategory Sales que realmente se está ejecutando (el que incluye los filtros ocultos):

Subcategory Sales = 
CALCULATE(
    SUM(Sales[Amount]),
    Subcategory[Category Id] = 1,
    Subcategory[Subcategory Id] = 1,
    Subcategory[Subcategory] = "Servers"
)
  1. El simple hecho de estar imponiendo un filtro que involucre al campo Subcategory Id hace que los demás filtros sean innecesarios (pues se trata de una clave primaria y con filtrar la clave primaria ya es suficiente para determinar qué filas estamos seleccionando)
  2. Si la tabla incluye una clave primaria (como es nuestro caso) sabemos que la transición de contexto va a provocar que, en la tabla que estamos iterando, una y solo una fila quede visible

Pero ¿qué ocurriría si la tabla que estamos iterando no incluyese una clave primaria? Pues que no sabríamos si la transición de contexto está dejando visibles una o más filas, lo que, por supuesto, tendría consecuencias en el filtrado que se estuviese propagando al resto de tablas del modelo de datos.

Es por esto por lo que la transición de contexto es una potente herramienta, pero compleja de utilizar.