Hoy en Grupo Dapen vamos a ver cómo gestionar la relación de muchos a muchos en el programa Power BI.

Video

Cómo crear tabla puente en Power BI para obtener una relación muchos a muchos entre dos tablas

Si vamos a la vista de Tabla podemos observar la tabla Budget que contiene en su campo Region duplicados.

Vista de la tabla con datos duplicados en Power BI

Igualmente, la tabla Sales, la tabla de hechos, en su campo Region también contiene duplicados.

Vista de la otra tabla con datos duplicados en Power BI

Intentamos desde la vista del modelo relacionar la tabla Budget y la tabla Sales por el campo Region, moviendo un campo sobre el otro.

Relacionar un campo de diferentes tablas

Observaremos que nos aparece un mensaje en pantalla indicando que esta relación tiene una cardinalidad de muchos para muchos.

Esto solo se debe usar si se espera que ninguna columna (Region y Region) contenga valores únicos y que se entienda el comportamiento significativamente diferente de las relaciones de muchos a muchos.

Mensaje muchos a muchos en Power BI

Lo que vamos a hacer es no relacionarlas de esta manera creando una tabla puente para evitar ese mensaje.

Es por ello por lo que crearemos esta tabla puente para poder conectar eficazmente varias tablas sin tener este tipo de problemas de duplicados o de relaciones complicadas.

Crear una tabla puente

Usaremos para ello una función UNION para combinar las regiones de ambas tablas y deberemos tener en cuenta que hay que evitar los duplicados que vamos a obtener porque tenemos las mismas regiones en las dos tablas.

Para evitar esa circunstancia con la función DISTINCT utilizaremos esta función y además tendremos que asegurarnos de no tener blanks o vacíos para lo cual usaremos la función FILTER para filtrar cualquier región que sea distinta a blank.

Para ello accedemos a Modelado y dentro de Modelado vamos a crear una Nueva Tabla. Vamos a aplicar un poco de zoom con Ctrl+. A esta tabla la vamos a llamar Bridge Region.

Crear una tabla puente

Hacemos un salto de carro con Alt+Enter y creamos variables. Una primera variable SalesRegion que va a ser justo con VALUES de nuestra tabla Sales la columna de Region. Esto son valores únicos de la columna Region de nuestra tabla Sales. Aplicamos Alt+Enter.

Una segunda variable que va a ser BudgetRegion. También utilizamos VALUES para quedarnos solamente con los valores únicos de la columna Región de nuestra tabla Budget.

El nombre de las variables puede ser el que queramos y los nombres de las variables no pueden contener espacios en blanco.

Vamos a crear una tercera variable, llamada, por ejemplo, Combine. Esta variable va a utilizar la función UNION para combinar las regiones de ambas tablas.

Abrimos paréntesis y nos pide la Tabla1 y le pasamos justo la variable BudgetRegion y de la Tabla2 le vamos a pasar la variable SalesRegion. Cerramos paréntesis y Alt+Enter, salto de carro. Imprimimos con un RETURN, otro salto de carro el uso con la función DISTINCT, justo para devolver una tabla con una sola columna que contenga valores distintos en una columna para este argumento. Abrimos paréntesis y aquí utilizamos el filtro con la función FILTER utilizando la tabla Combine, que viene a ser la variable anterior y en la expresión del filtro lo que vamos a hacer es que el campo de la Región sea distinto a Blank, controlando la situación antes comentada. Abrimos y cerramos paréntesis para el Blank y cerramos el paréntesis de la función FILTER y de la función DISTINCT. Aplicamos Enter.

Variables tabla puente Power BI

Ahora vamos a poder conectar desde la vista del Modelo (aparecerá aquí la nueva tabla, la tabla Bridge Region), vamos a poder conectar Region de la tabla puente con el campo Region de la tabla Budget, será una relación de uno a muchos, guardamos;

Conectar tabla puente con tabla budget
Nueva relación uno a muchos tabla budget

y también con el campo Region de la tabla Sales, será una relación de uno a muchos, guardamos.

Conectar tabla puente con tabla sales
Nueva relación uno a muchos tabla sales

Con esto, cualquier filtro que venga aplicado a la tabla puente Bridge Region, va a ser capaz de filtrar la tabla Budget como igualmente la tabla Sales y habremos tenido ya la solución para evitar ese conflicto que surge al tener relaciones de muchos a muchos.

Solución relaciones de muchos a muchos en Power BI

Esto ha sido la explicación de cómo crear una tabla puente en Power BI para evitar este tipo de conflictos.

Otros vídeo tutoriales

Share This


    *Sólo números de España

    Información sobre protección de datos
    He leído y acepto la Política de privacidad

    Responsable de los datos: Dapen Centro Estudios S.L.
    Finalidad: Responder a solicitudes del formulario y envío de actualizaciones y cursos.
    Legitimación: Tu consentimiento expreso.
    Destinatario: Dapen Centro Estudios S.L. No se cederán datos a terceros, salvo obligación legal.
    Derechos: Acceso, rectificación, supresión, anonimato, portabilidad y olvido de sus datos.

    Te llamamos Te llamamos
    Enviar mensaje de Whatsapp Whatsapp