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

The ultimate Microsoft Fabric, Power BI, Azure AI & SQL learning event! Join us in Las Vegas from March 26-28, 2024. Use code MSCUST for a $100 discount. Register 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
Fabric Community Conference

Microsoft Fabric Community Conference

Join us at our first-ever Microsoft Fabric Community Conference, March 26-28, 2024 in Las Vegas with 100+ sessions by community experts and Microsoft engineering.

February 2024 Update Carousel

Power BI Monthly Update - February 2024

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

Fabric Career Hub

Microsoft Fabric Career Hub

Explore career paths and learn resources in Fabric.

Fabric Partner Community

Microsoft Fabric Partner Community

Engage with the Fabric engineering team, hear of product updates, business opportunities, and resources in the Fabric Partner Community.

Top Solution Authors