Unión exterior completa con tres tablas

Un usuario Pregunto ✅

mr_oli

¡Hola!

necesito tu ayuda 🙂

Quiero unir tres tablas en una con combinación externa completa, pero para ser honesto, no sé cómo.

mr_oli_0-1597916535418.png

Primero decidí unirme a la tabla 1 y la tabla 2 y después de eso, a la tabla 3.

Pero después de unirme a los dos primeros recibí columnas duplicadas:

mr_oli_1-1597916668149.png

¿Cuál es la mejor manera de hacer eso?

¡Gracias!

Hola, @mr_oli

Según su descripción, creé datos para reproducir su escenario. El archivo pbix se adjunta al final.

Puede intentar crear una tabla calculada como se muestra a continuación.

Table = 
ADDCOLUMNS(
    DISTINCT(
        UNION(
            DISTINCT(Table1[Column1]),
            DISTINCT(Table2[Column1]),
            DISTINCT(Table3[Column1])
        )
    ),
    "Column2",
    MAXX(
        FILTER(
            Table1,
            Table1[Column1]=EARLIER(Table1[Column1])
        ),
        [Column2]
    ),
    "Column3",
    MAXX(
        FILTER(
            Table2,
            Table2[Column1]=EARLIER(Table1[Column1])
        ),
        [Column3]
    ),
    "Column4",
    MAXX(
        FILTER(
            Table3,
            Table3[Column1]=EARLIER(Table1[Column1])
        ),
        [Column4]
    )
)

Resultado:

a1.png

Atentamente

Alano

Si esta publicación ayuda, entonces por favor considere Acéptalo como la solución. para ayudar a los otros miembros a encontrarlo más rápidamente.

Hola, @mr_oli

Según su descripción, creé datos para reproducir su escenario. El archivo pbix se adjunta al final.

Puede intentar crear una tabla calculada como se muestra a continuación.

Table = 
ADDCOLUMNS(
    DISTINCT(
        UNION(
            DISTINCT(Table1[Column1]),
            DISTINCT(Table2[Column1]),
            DISTINCT(Table3[Column1])
        )
    ),
    "Column2",
    MAXX(
        FILTER(
            Table1,
            Table1[Column1]=EARLIER(Table1[Column1])
        ),
        [Column2]
    ),
    "Column3",
    MAXX(
        FILTER(
            Table2,
            Table2[Column1]=EARLIER(Table1[Column1])
        ),
        [Column3]
    ),
    "Column4",
    MAXX(
        FILTER(
            Table3,
            Table3[Column1]=EARLIER(Table1[Column1])
        ),
        [Column4]
    )
)

Resultado:

a1.png

Atentamente

Alano

Si esta publicación ayuda, entonces por favor considere Acéptalo como la solución. para ayudar a los otros miembros a encontrarlo más rápidamente.

jimmy801

Hola @mr_oli

Creo que no estás uniendo las tablas, sino simplemente combinándolas. Use Table.Combine para esto

Aquí un código de ejemplo

let
    Table1 = 
    let
	Source = #table
	(
		{"Column 1","Column 2"},
		{
			{"1a","a"},	{"1b","a"},	{"1c","a"}
		}
	)
    in
        Source,
    Table2 = 
    let
	Source = #table
	(
		{"Column 1","Column 3"},
		{
			{"1d","a"},	{"1z","a"},	{"1d","a"}
		}
	)
    in
        Source,
    Table3 = 
    let
	Source = #table
	(
		{"Column 1","Column 4"},
		{
			{"1z","a"},	{"1xx","a"},	{"1c","a"}
		}
	)
    in
        Source,
    Combine = Table.Combine ( {Table1, Table2, Table3})
in
    Combine

Copie y pegue este código en el editor avanzado en una nueva consulta en blanco para ver cómo funciona la solución.

Si esta publicación ayuda o resuelve su problema, márquelo como solución (para ayudar a otros usuarios a encontrar contenido útil y reconocer el trabajo de los usuarios que lo ayudaron)
Los saludos también son buenos

Divertirse

Palanqueta

mr_oli

En respuesta a jimmy801

Ok, eso debería ser fácil si tendré 3 filas en la tabla

Pero, ¿y si tendré un par de miles de filas? ¿Tendré que poner todos los datos únicos en el editor avanzado?

jimmy801

En respuesta a mr_oli

Hola @mr_oli

no, seguro que no. Este es solo un ejemplo que todos entienden fácilmente cómo funciona. En su ejemplo real, debe sustituir las tablas con sus tablas reales de Excel o cualquier otra fuente de datos

Espero que esto ayude

BR

Palanqueta

mr_oli

En respuesta a jimmy801


@Jimmy801 escribió:

En su ejemplo real, debe sustituir las tablas con sus tablas reales de Excel o cualquier otra fuente de datos


Los datos provienen de la base de datos sql

¿Realmente no hay una solución para eso directamente en Power BI?

jimmy801

En respuesta a mr_oli

Hola @mr_oli

por supuesto, solo cree 3 consultas que consulten sus datos de SQL. Cree una nueva consulta en blanco donde combine sus 3 consultas con sus datos sin procesar usando Table.Combine

BR

Palanqueta

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *