Hola
Cuando me uno a 2 tablas, estoy recibiendo valores duplicados, porque en los mismos casos para la misma entrada tengo 2 valores. Me gustaría saber, al final de unirse, si puedo hacer diferenciado, y conseguir sólo uno.
Join =
VAR A =
SELECTCOLUMNS (
TableA,
"An", RELATED(Advertisers[An]),
"Key", FORMAT(TableA[Key],"string")
)
VAR B =
SELECTCOLUMNS (
TableB,
"idAn", TableB[IdAnunciante],
"NameAn", TableB[NomeAnunciante],
"Key", FORMAT(TableB[KeyMkt],"string")
)
VAR Result =
NATURALINNERJOIN( B, A )
VAR Dist = SUMMARIZE(Result, [IdAn] , [NameAn], [An] )
RETURN
Dist
Resultado (En los mismos casos obtengo 2 entradas):
Idan | NameAn | Un |
1153 | Foo | TesteXPTO |
1153 | Foo | Foo |
Lo que quiero (sólo quiero una entrada, independientemente de qué entrada es):
Idan | NameAn | Un |
1153 | Foo | Foo |
O
Idan | NameAn | Un |
1153 | Foo | TesteXPTO |
Necesito hacer esto con DAX, porque tableA como más de 100M entradas
Solved! Go to Solution.
Hola @flaviocarvalho ,
¿Se ha resuelto su problema?
Si no es así, ¿le importaría compartir su archivo .pbix? O muéstreme los datos de muestra de TableA, TableB y Anunciantes.
O puede usar el objeto visual de tabla para obtener la tabla.
Hola @flaviocarvalho ,
¿Se ha resuelto su problema?
Si no es así, ¿le importaría compartir su archivo .pbix? O muéstreme los datos de muestra de TableA, TableB y Anunciantes.
O puede usar el objeto visual de tabla para obtener la tabla.
La creación de otra tabla solucionó el problema. El problema era que necesito una conexión de varios a uno a otra mesa.
Hola @flaviocarvalho ,
Intente utilizar la función MAXX().
Join =
VAR A =
SELECTCOLUMNS (
TableA,
"An", RELATED(Advertisers[An]),
"Key", FORMAT(TableA[Key],"string")
)
VAR B =
SELECTCOLUMNS (
TableB,
"idAn", TableB[IdAnunciante],
"NameAn", TableB[NomeAnunciante],
"Key", FORMAT(TableB[KeyMkt],"string")
)
VAR Result =
NATURALINNERJOIN( B, A )
VAR Dist = SUMMARIZE(Result, [IdAn] , [NameAn], "An", MAXX(Result, [An]) )
RETURN
Dist
Saludos
Lionel Chen
Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
Hola @v-lionel-msft ,
Creo que estamos cerca. Mi mesa original sin MAX es:
Idan | NameAn | Un |
1153 | Foo | TestXPTO |
1153 | Foo | Foo |
1164 | Yee | Yee |
2154 | Whisky | Whisky |
Ahora el resultado es el siguiente:
Idan | NameAn | Un |
1153 | Foo | Whisky |
1164 | Yee | Whisky |
2154 | Whisky | Whisky |
Pero necesito el Max / Min "An" de cada ID, así:
( He probado Maxx(values(Result[IdAn)) pero no puedo encontrar la tabla )
Idan | NameAn | Un |
1153 | Foo | Foo |
1164 | Yee | Yee |
2154 | Whisky | Whisky |
@flaviocarvalho , Vea si esto puede ayudar
Al final del código
VAR Dist = SUMMARIZE(Result, [IdAn] , [NameAn],"An" , max([An]) ) // or use min
RETURN
Dist
Proud to be a Super User!
User | Count |
---|---|
164 | |
75 | |
37 | |
26 | |
17 |
User | Count |
---|---|
12 | |
4 | |
2 | |
2 | |
2 |