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

Get certified in Microsoft Fabric—for free! For a limited time, the Microsoft Fabric Community team will be offering free DP-600 exam vouchers. Prepare now

Reply
Syndicate_Admin
Administrator
Administrator

Table.Distinct power query con una condición

Hola

Hablo de las consultas de energía en Power BI de escritorio.

Aquí están mis registros de tabla

[Field1 = "A", Field2 = "1", Field3= 20231201],

[Field1 = "A", Field2 = "1", Field3= 20240101],

[campo1="b", campo2="2", campo3=20231201]

¿Es posible suprimir registros duplicados en el campo 1 y el campo 2 con una condición en el campo 3 que solicite, por ejemplo, mantener la fecha más reciente?

El resultado debería ser;

[Field1 = "A", Field2 = "1", Field3= 20240101],

[campo1="b", campo2="2", campo3=20231201]

¿Es posible con Table.Distinct o con un tipo de consulta de Power como esa?

¡Gracias!

1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator

Hola

Lo encontré por mí mismo.

Las soluciones propuestas con la agrupación y expansión de filas no pueden suprimir los campos duplicados.

Tenemos que

  • sort [COLLABORATEURId], [CODE PROJETId] [DATE FIN] en descendente [DATE FIN] (porque quiero mantener solo Max [DATE FIN] para duplicados [COLLABORATEURId], [CODE PROJETId]
  • y, a continuación, hacer un Table.Distinct

¡Funciona bien!

🙂

View solution in original post

10 REPLIES 10
Syndicate_Admin
Administrator
Administrator

Hola

Lo encontré por mí mismo.

Las soluciones propuestas con la agrupación y expansión de filas no pueden suprimir los campos duplicados.

Tenemos que

  • sort [COLLABORATEURId], [CODE PROJETId] [DATE FIN] en descendente [DATE FIN] (porque quiero mantener solo Max [DATE FIN] para duplicados [COLLABORATEURId], [CODE PROJETId]
  • y, a continuación, hacer un Table.Distinct

¡Funciona bien!

🙂

Syndicate_Admin
Administrator
Administrator

Obviamente no has visto mi solución con detenimiento en absoluto. ¿Dónde he usado List.Max???? He usado Table.Max. Además, no hay ningún tipo datetime en el paso Table.Group de mi solución. Por favor, estudie mi solución cuidadosamente.

Syndicate_Admin
Administrator
Administrator

¿Alguien puede ayudar por favor?

Syndicate_Admin
Administrator
Administrator

Y, por favor, no olvide que estoy usando Power BI Desktop, no Excel.

Syndicate_Admin
Administrator
Administrator

He leído con cuidado e hice exactamente esto = >

= Table.Group(#"Renamed Columns4", {"COLLABORATORURId", "PROJECT CODEId"}, {{"PROJECT COLLAB COUPLE", each List.Max([END DATE]), type datetime}})

Y funciona para la agrupación.

Pero después no hay nada que expandir haciendo clic en los iconos en la parte superior de la columna de [PROYECTO DE COLABORACIÓN DE PAREJA].

Si trato de escribir directamente esto =>

#"Expanded All" = Table.ExpandRecordColumn(#"Grouped Rows", "All", {"Field2", "Field3"}, {"Field2", "Field3"})

¿Tengo que poner el nombre de todas mis 7 columnas de esta manera=>

#"Expandido todo" = Table.ExpandRecordColumn(#"Filas agrupadas", "Todas", {"Campo2", "Campo3","Campo4","Campo5","Campo6","Campo7" }, {"Campo2", "Campo3","Campo4","Campo5","Campo6","Campo7" })

?

Gracias.

Syndicate_Admin
Administrator
Administrator

No puedo ayudarte mirando capturas de pantalla. Vuelva a leer atentamente mi solución y vuelva a intentarlo.

Syndicate_Admin
Administrator
Administrator

Hola Ashish

No hay nada que expandir cuando hago clic en estas formas, echa un vistazo =>

Screen1PBI.jpg

Screen2PBI.jpg

Syndicate_Admin
Administrator
Administrator

De nada. Solo tienes que hacer clic en el icono de la cabecera y seleccionar los campos que quieres expandir.

Syndicate_Admin
Administrator
Administrator

Hola Ashish

Gracias por su ayuda. Logré agruparme. Pero no logró expandir todos los demás campos.

Screen1PBI.jpg

Entendí esto al agrupar.

Screen2PBI.jpg

¿Cómo puedo administrar Table.ExpandRecordColum para recuperar todos los demás campos?

Gracias.

Syndicate_Admin
Administrator
Administrator

Hola

Este código M funciona

let
    Source = Excel.CurrentWorkbook(){[Name="Data"]}[Content],
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"Field1", type text}, {"Field2", Int64.Type}, {"Field3", Int64.Type}}),
    #"Grouped Rows" = Table.Group(#"Changed Type", {"Field1"}, {{"All", each Table.Max(_,"Field3")}}),
    #"Expanded All" = Table.ExpandRecordColumn(#"Grouped Rows", "All", {"Field2", "Field3"}, {"Field2", "Field3"})
in
    #"Expanded All"

Espero que esto ayude.

Ashish_Mathur_0-1701473970820.png

Helpful resources

Announcements
OCT PBI Update Carousel

Power BI Monthly Update - October 2024

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

September Hackathon Carousel

Microsoft Fabric & AI Learning Hackathon

Learn from experts, get hands-on experience, and win awesome prizes.

October NL Carousel

Fabric Community Update - October 2024

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

Top Solution Authors