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

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
Syndicate_Admin
Administrator
Administrator

Eliminar duplicados

Saludo
Tengo una tabla con dos columnas.
Desea eliminar duplicados.
Product1 está relacionado con Product2.
El problema es que hay duplicados, pero se han cambiado en las columnas.

Producto1Producto2
AAA111AAA222
BBB000CCC111
AAA222AAA111
CCC111BBB000

No me importa qué producto está en la columna Producto1 y cuál está en Producto2. Solo me importa que los artículos relacionados tengan una línea.

Me gustaría que solo quedara una columna:
AAA111-AAA222, y para quitar la columna
AAA222-AAA111 o viceversa. Es importante que solo quede una fila de artículos relacionados.
Creo que hay una manera en Power Query, pero no tengo idea.
¡Gracias de antemano!

6 REPLIES 6
Syndicate_Admin
Administrator
Administrator

En ese caso, pruebe esto

Haga clic aquí para descargar la solución

dejar
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WcnR0NDQ0VNIBMYyMjJRidaKVnJycDAwMgGLOzs4gSZAYVFoHpgEkBpXWgWmIjQUA", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) en la tabla de tipos [Product1 = _t, Product2 = _t]),
#"Added Conditional Column" = Table.AddColumn(Source, "Products", cada uno if [Product1] <= [Product2] then [Product1] & "-" & [Product2] else [Product2] & "-" & [Product1]),
#"Filas ordenadas" = Table.Sort(#"Columna condicional añadida",{{"Productos", Orden.Ascendente}}),
#"Duplicados eliminados" = Table.Distinct(#"Filas ordenadas", {"Productos"})
en
#"Duplicados eliminados"

Cómo funciona...

El formato condicional crea una nueva columna, que luego puede deduplicar

speedramps_0-1660388471577.png

Por favor, ahora haga clic en los pulgares hacia arriba y también acepte la solución, gracias

Puse mucho esfuerzo para ayudarte, ahora por favor ayúdame rápidamente dando felicitaciones.

Remeber somos voluntarios no remunerados y estamos aquí para entrenarlo con habilidades y técnicas de Power BI y DAX, no para hacer el trabajo de los usuarios por ellos. Por lo tanto, haga clic en el pulgar hacia arriba y acepte como botón de solución.

Si le das a alguien un pescado, solo le das una comida, pero si le enseñas a pescar, entonces puede alimentarse y enseñar a otros para toda la vida. Prefiero enseñar a los miembros en este foro técnicas en lugar de dar soluciones completas y hacer su trabajo. A continuación, puede adaptar la técnica para su solución, aprender algunas habilidades de DAX para la próxima vez y pronto convertirse en un superusuario de Power BI como yo.

Una pregunta por boleto, por favor. Si necesita extender su solicitud, por favor levante un nuevo boleto.

Obtendrá una respuesta más rápida y cada solucionador voluntario recibirá los elogios que se merecen. ¡Gracias!

Gracias por su ayuda.
ddpl encontró una solución a mi problema.

Syndicate_Admin
Administrator
Administrator

Prueba esto...

Haga clic aquí para descargar la solución

Mira la Power Query =--

dejar
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WcnR0NDQ0VNIBMYyMjJRidaKVnJycDAwMgGLOzs4gSZAYVFoHpgEkBpXWgWmIjQUA", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) en la tabla de tipos [Product1 = _t, Product2 = _t]),
#"Columnas no votadas" = Table.UnpivotOtherColumns(Source, {}, "Attribute", "Product"),
#"Columnas eliminadas" = Table.RemoveColumns(#"Columnas no votadas",{"Atributo"}),
#"Filas ordenadas" = Table.Sort(#"Columnas eliminadas",{{"Producto", Orden.Ascendente}}),
#"Duplicados eliminados" = Table.Distinct(#"Filas ordenadas")
en
#"Duplicados eliminados"

Cómo funciona...

  • Primero unpivot las columnas
  • Remive la columna atriburte
  • Ordenar la columna
  • Eliminar los duplicados

Gracias por buscar ayuda.

Puse mucho esfuerzo para ayudarte, ahora por favor ayúdame rápidamente dando felicitaciones.

Remeber somos voluntarios no remunerados y estamos aquí para entrenarlo con habilidades y técnicas de Power BI y DAX, no para hacer el trabajo de los usuarios por ellos. Por lo tanto, haga clic en el pulgar hacia arriba y acepte como botón de solución.

Si le das a alguien un pescado, solo le das una comida, pero si le enseñas a pescar, entonces puede alimentarse y enseñar a otros para toda la vida. Prefiero enseñar a los miembros en este foro técnicas en lugar de dar soluciones completas y hacer su trabajo. A continuación, puede adaptar la técnica para su solución, aprender algunas habilidades de DAX para la próxima vez y pronto convertirse en un superusuario de Power BI como yo.

Una pregunta por boleto, por favor. Si necesita extender su solicitud, por favor levante un nuevo boleto.

Obtendrá una respuesta más rápida y cada solucionador voluntario recibirá los elogios que se merecen. ¡Gracias!

¡Gracias speedramps por la rápida respuesta!

Tal vez no pude explicar lo que necesitaba.
Necesito tener las columnas Product1 y Product2. Son productos relacionados.
AAA111-AAA222
AAA222-AAA111

Me gustaría que solo quedara una línea de productos relacionados.
No importa si sigue siendo AAA111-AAA222 o AAA222-AAA111.

@mraka9

let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WcnR0NDQ0VNIBMYyMjJRidaKVnJycDAwMgGLOzs4gSZAYVFoHpgEkBpXWgWmIjQUA", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Product1 = _t, Product2 = _t]),
#"Unpivoted Columns" = Table.UnpivotOtherColumns(Source, {}, "Attribute", "Value"),
#"Removed Duplicates" = Table.Distinct(#"Unpivoted Columns", {"Value"}),
#"Added Index" = Table.AddIndexColumn(#"Removed Duplicates", "Index", 1, 1, Int64.Type),
#"Pivoted Column" = Table.Pivot(#"Added Index", List.Distinct(#"Added Index"[Attribute]), "Attribute", "Value"),
#"Removed Columns" = Table.RemoveColumns(#"Pivoted Column",{"Index"}),
#"Filled Down" = Table.FillDown(#"Removed Columns",{"Product1"}),
#"Filtered Rows" = Table.SelectRows(#"Filled Down", each ([Product2] <> null))
in
#"Filtered Rows"

ddpl_0-1660388949060.png

Por favor, compruebe y accpet como solución si ha funcionado.

¡Muchas gracias!
¡Esta podría ser la solución cuando aplico a una gran cantidad de datos!

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

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

April Fabric Community Update

Fabric Community Update - April 2024

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