Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more. Get started

Reply
Syndicate_Admin
Administrator
Administrator

Combinar 3 tablas en DAX

Tengo que combinar una columna de 3 tablas separadas en una tabla con todas las combinaciones:
Así que este debe ser el resultado final
Por lo tanto, solo deben ser las combinaciones las que están presentes en los datos, NO TODAS las combinaciones posibles, por lo que CROSSJOIN por sí solo no hace el trabajo en mi opinión.

de la Tabla 1de la Tabla 2de la Tabla 3
AAA
BBnulo
CnuloC
nuloDD
Enulonulo
nuloFnulo
nulonuloG
9 REPLIES 9
Syndicate_Admin
Administrator
Administrator

@Artefact ,

Estos son los pasos que puedes seguir:

1. Cree un índice para cada tabla.

En Power Query, agregue Columna – Columna de índice – Desde 1.

vyangliumsft_0-1706691616156.jpeg

2. Crear una tabla calculada.

Table =
var _table=
SUMMARIZE(
    'Table1','Table1'[Index],'Table1'[from table 1],
    "from table 2",LOOKUPVALUE('Table2'[from table 2],'Table2'[Index],'Table1'[Index]),
    "from table 3",LOOKUPVALUE('Table3'[from table 3],'Table3'[Index],'Table1'[Index]))
return
SUMMARIZE(
    _table,[from table 1],[from table 2],[from table 3])

3. Resultado:

vyangliumsft_1-1706691616157.png

Saludos

Liu Yang

Si esta publicación ayuda, considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente

TB1TB2TB3

A

AA
BBC
CDD
EFG

Hola Liu,
Gracias por su respuesta. Casi listo, pero presenté mis tablas iniciales algo diferentes como se pretendía. Los valores nulos no están exactamente en las filas como en la primera publicación. Los valores nulos no están ahí en absoluto, solo quería mostrar los valores nulos en el resultado final. Por lo tanto, la tabla anterior es el punto de partida correcto para obtener la tabla de resultados. Espero que esto ayude, ¡y gracias de nuevo por sus esfuerzos!

Syndicate_Admin
Administrator
Administrator

Hola, @Artefact

Intente usar la función intersect()

Nedd interseca dos veces para combinar 3 tablas

Syndicate_Admin
Administrator
Administrator

adenda:

Por lo tanto, la tabla base 1 tiene una columna con solo ABCE, la tabla 2 ABDF y la tabla 3 ACDG.
No quiero un producto cartesiano con CROSSJOIN, eso daría como resultado una tabla mucho más grande

Ok, ahora tengo lo que quieres. Desea una combinación externa completa.

Desafortunadamente, DAX no admite este tipo de operación de combinación que yo sepa, por lo que si no puede insertar esta operación en Power Query (que de hecho admite combinaciones externas completas, combinación externa completa - Power Query | Microsoft Learn) entonces la única solución que se me ocurre es una solución no tan elegante, que es la siguiente:

  1. Haga una combinación NATURALLEFTOUTERJOIN entre Table1 y Table2, llamémosla Join1
  2. Haga una combinación NATURALLEFTOUTERENTRE Table2 y Table1 (el orden es importante), llamémoslo Join2
  3. Primero haga una UNION y luego una DISTINCT entre Join1 y Join2, llamemos al resull FinalJoin
  4. Repita este proceso entre FinalJoin y Table3

Hazme saber si funciona para ti.

Gracias Lorenzo, parece que tu idea funciona, pero necesito el código completo para tus soluciones. No entiendo dónde puse las funciones UNION y DISTINCT. Parece que estas funciones no funcionan con 2 columnas (distintas) o 3 (unión) en mi código.

Syndicate_Admin
Administrator
Administrator

Hola, no está muy claro cuál es el punto de partida y cuál es el resultado final.

¿Cuál es el criterio para unirse a la mesa? Estás diciendo en el mismo mensaje que esperas todas las combinaciones posibles y justo después de eso no quieres todas las combinaciones posibles, por lo que es bastante difícil entender lo que estás buscando.

Syndicate_Admin
Administrator
Administrator

El resultado es la tabla del post

Syndicate_Admin
Administrator
Administrator

Muestra el resultado que esperas

Helpful resources

Announcements
Europe Fabric Conference

Europe’s largest Microsoft Fabric Community Conference

Join the community in Stockholm for expert Microsoft Fabric learning including a very exciting keynote from Arun Ulag, Corporate Vice President, Azure Data.

AugPowerBI_Carousel

Power BI Monthly Update - August 2024

Check out the August 2024 Power BI update to learn about new features.

August Carousel

Fabric Community Update - August 2024

Find out what's new and trending in the Fabric Community.

Top Solution Authors
Top Kudoed Authors