Dirección del filtro cruzado II

Siguiendo con nuestro modelo de datos de juguete, que una selección en el lado “uno” de la relación siempre filtre la tabla situada en el lado “varios” significa que la dirección del filtro entre las tablas de clientes y la de ventas va a ir precisamente en esa dirección (de clientes -lado “uno”- a ventas -lado “varios”) y que la dirección del filtro entre las tablas de productos y de ventas va también a ir en dicha dirección (de productos -lado “uno”- a ventas -lado “varios”-). Es decir:

Data model and filters

Esto supone que la selección que hicimos en la tabla de clientes se va a propagar a la tabla de ventas tal y como ya hemos visto, pero este filtrado no va a propagarse de la tabla de ventas a la de productos pues la dirección del filtro es la opuesta.

Si quisiéramos permitir que este filtrado se produjera, podríamos modificar la relación entre las tablas de productos y de ventas de forma que el filtro cruzado fuese de tipo “ambos” (representado por los dos triángulos que se muestran sobre la relación en la siguiente imagen):

Data model and filters

en cuyo caso el filtro sí llegaría a la tabla de productos lo que tendría como consecuencia que, en esta tabla, solo los productos adquiridos por Juan quedarían seleccionados.

Podría parecer que configurar todas las relaciones de un modelo de datos con filtros cruzados de tipo “ambos” es una buena idea, pero es todo lo contrario: los modelos de datos con relaciones de este tipo son menos eficientes y más complejos de gestionar que aquellos en los que todas las relaciones son de tipo “único”. Veremos en este curso que, usando DAX, podemos modificar temporalmente la dirección del filtro cruzado de una relación para obtener los resultados que deseemos en cada momento.