Agrupar por fecha y mantener todas las columnas

Un usuario Pregunto ✅

jama1234

Hola a todos,

Soy bastante nuevo en Power Bi y tengo una pregunta que alguien podría responder.

Tengo un conjunto de entradas para la misma identificación. Solo quiero mantener la tupla con la fecha de cambio más reciente de cada ID. Encontré la función List.Max, pero hasta ahora se han eliminado todas las demás columnas, excepto por la que estoy agrupando, pero necesito mantener todas para esta fecha específica.

ID Fecha de cambio Estado Estado anterior

2 07.09.2019 Listo Creado
1 10.09.2019 En el trabajo Implementado
2 14.09.2019 En el trabajo Implementado
1 08.09.2019 Listo Creado
1 16.09.2019 Implementado Hecho
2 09.09.2019 Creado En el trabajo
1 10.09.2019 Creado En el trabajo

La salida debería ser entonces:

1 16.09.2019 Implementado Hecho
2 14.09.2019 En el trabajo Implementado

¿Alguna idea sobre cómo solucionar eso?

Muchas gracias y saludos cordiales!

Hola jama1234

Podrías probar debajo de M consulta

let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMlLSUTIw1zOw1DMyMLQEcoJSE1MqgbRzUWpiSWqKUqxOtJIhkG9ogKTIM08hPL8oG8TKLchJzU3NgykFmWdoQpRSkKkGFsRYbYZsHpIpOkou+XmpcHuBihDqYIYgXIDVJ1iUxQIA", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type text) meta [Serialized.Text = true]) in type table [ID = _t, #"Changed Date" = _t, State = _t, Create = _t]),
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"ID", Int64.Type}, {"Changed Date", type text}, {"State", type text}, {"Create", type text}}),
    #"Grouped Rows" = Table.Group(#"Changed Type", {"ID"}, {{"max", each List.Max([Changed Date]), type text}, {"all", each _, type table [ID=number, Changed Date=text, State=text, Create=text]}}),
    #"Expanded all" = Table.ExpandTableColumn(#"Grouped Rows", "all", {"Changed Date", "State", "Create"}, {"all.Changed Date", "all.State", "all.Create"}),
    #"selectrow"=Table.SelectRows(#"Expanded all",each [max]=[all.Changed Date]),
    #"Removed Columns" = Table.RemoveColumns(selectrow,{"all.Changed Date"})
in
    #"Removed Columns"

Atentamente,
Zoe Zhi

Si esta publicación ayuda, considere Aceptarla como la solución para ayudar a los demás miembros a encontrarla más rápidamente.

Hola jama1234

Podrías probar debajo de M consulta

let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMlLSUTIw1zOw1DMyMLQEcoJSE1MqgbRzUWpiSWqKUqxOtJIhkG9ogKTIM08hPL8oG8TKLchJzU3NgykFmWdoQpRSkKkGFsRYbYZsHpIpOkou+XmpcHuBihDqYIYgXIDVJ1iUxQIA", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type text) meta [Serialized.Text = true]) in type table [ID = _t, #"Changed Date" = _t, State = _t, Create = _t]),
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"ID", Int64.Type}, {"Changed Date", type text}, {"State", type text}, {"Create", type text}}),
    #"Grouped Rows" = Table.Group(#"Changed Type", {"ID"}, {{"max", each List.Max([Changed Date]), type text}, {"all", each _, type table [ID=number, Changed Date=text, State=text, Create=text]}}),
    #"Expanded all" = Table.ExpandTableColumn(#"Grouped Rows", "all", {"Changed Date", "State", "Create"}, {"all.Changed Date", "all.State", "all.Create"}),
    #"selectrow"=Table.SelectRows(#"Expanded all",each [max]=[all.Changed Date]),
    #"Removed Columns" = Table.RemoveColumns(selectrow,{"all.Changed Date"})
in
    #"Removed Columns"

Atentamente,
Zoe Zhi

Si esta publicación ayuda, considere Aceptarla como la solución para ayudar a los demás miembros a encontrarla más rápidamente.

SethuPower

Utilice Agrupar por en Editar consultas usando la opción Avanzada, Agrupar por columna como ID y MAX de fecha de cambio, y Todas las filas con el nombre de columna como «Todas las filas». Haga clic en Aceptar. Ahora la tabla tendrá columnas ID, Date, AllRows. Haga clic en la columna AllRows, expanda y elimine otras columnas que no sean necesarias. Por favor, intente y avísele si esto funciona.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *