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.
Hola a todos
Creé una columna llamada "duplicados" que es un concat de 4 columnas. Mi intención es haber eliminado esos duplicados (más o igual a 2) y dejar solo aquellas filas cuya "columna de fecha creada" es la más reciente.
Por ejemplo:
La imagen anterior, tiene 2 filas (duplicadas) por lo que debe dejar sólo la que tiene el creado - más reciente y eliminar el más antiguo.
¿Es posible con Power Query?
Adjunto el pbix
https://1drv.ms/u/s!ApgeWwGTKtFdhy__p6oEYLV0NrTY?e=gebU8R
¡Gracias a todos!
Solved! Go to Solution.
Puede descargar el archivo: HERE
________________________
Si mi respuesta fue útil, considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla
Haga clic en el icono Thumbs-Up si le gusta esta respuesta 🙂
⭕ Subscribe and learn Power BI from these videos
⚪ Website ⚪ LinkedIn ⚪ PBI User Group
@o59393
Pegue el código siguiente en Consulta en blanco y compruebe los pasos: (Cambiar la ubicación del archivo)
let
Source = Excel.Workbook(File.Contents("C:\Users\Fowmy\OneDrive\BI\PBICommunity\Duplicates removed.xlsx"), null, true),
Sheet1_Sheet = Source{[Item="Sheet1",Kind="Sheet"]}[Data],
#"Promoted Headers" = Table.PromoteHeaders(Sheet1_Sheet, [PromoteAllScalars=true]),
#"Changed Type" = Table.TransformColumnTypes(#"Promoted Headers",{{"Duplicates", Int64.Type}, {"Date created", type datetime}}),
#"Grouped Rows" = Table.Group(#"Changed Type", {"Duplicates"}, {{"Count", each List.Max([Date created]), type nullable datetime}, {"all", each _, type table [Facility ID=number, #"Especificación / Specification"=text, Year=number, #"ES-RQ-225 Parámetro / Parameter"=text, Q1=date, #"Resultado / Result (Q1)"=number, #"Cumple? / Complies?"=text, Q2=date, #"Resultado / Result (Q2)"=number, #"Cumple? / Complies?_1"=text, Q3=date, #"Resultado / Result (Q3)"=any, #"Cumple? / Complies?_2"=text, Q4=date, #"Resultado / Result (Q4)"=any, #"Cumple? / Complies?_3"=text, #"Especificación / Specification_4"=text, Q1_5=date, #"Resultado / Result (Q1)_6"=number, #"Cumple? / Complies?_7"=text, Q2_8=date, #"Resultado / Result (Q2)_9"=number, #"Cumple? / Complies?_10"=text, Q3_11=date, #"Resultado / Result (Q3)_12"=number, #"Cumple? / Complies?_13"=text, Q4_14=date, #"Resultado / Result (Q4)_15"=number, #"Cumple? / Complies?_16"=text, Duplicates=nullable number, Date modified=datetime, Date created=nullable datetime]}}),
#"Expanded all" = Table.ExpandTableColumn(#"Grouped Rows", "all", {"Facility ID", "Especificación / Specification", "Year", "ES-RQ-225 Parámetro / Parameter", "Q1", "Resultado / Result (Q1)", "Cumple? / Complies?", "Q2", "Resultado / Result (Q2)", "Cumple? / Complies?_1", "Q3", "Resultado / Result (Q3)", "Cumple? / Complies?_2", "Q4", "Resultado / Result (Q4)", "Cumple? / Complies?_3", "Especificación / Specification_4", "Q1_5", "Resultado / Result (Q1)_6", "Cumple? / Complies?_7", "Q2_8", "Resultado / Result (Q2)_9", "Cumple? / Complies?_10", "Q3_11", "Resultado / Result (Q3)_12", "Cumple? / Complies?_13", "Q4_14", "Resultado / Result (Q4)_15", "Cumple? / Complies?_16", "Duplicates", "Date modified", "Date created"}, {"Facility ID", "Especificación / Specification", "Year", "ES-RQ-225 Parámetro / Parameter", "Q1", "Resultado / Result (Q1)", "Cumple? / Complies?", "Q2", "Resultado / Result (Q2)", "Cumple? / Complies?_1", "Q3", "Resultado / Result (Q3)", "Cumple? / Complies?_2", "Q4", "Resultado / Result (Q4)", "Cumple? / Complies?_3", "Especificación / Specification_4", "Q1_5", "Resultado / Result (Q1)_6", "Cumple? / Complies?_7", "Q2_8", "Resultado / Result (Q2)_9", "Cumple? / Complies?_10", "Q3_11", "Resultado / Result (Q3)_12", "Cumple? / Complies?_13", "Q4_14", "Resultado / Result (Q4)_15", "Cumple? / Complies?_16", "Duplicates.1", "Date modified", "Date created"}),
#"Added Custom" = Table.AddColumn(#"Expanded all", "Custom", each if [Duplicates.1] = [Duplicates] and [Date created] = [Count] then "Keep" else "Remove"),
#"Filtered Rows" = Table.SelectRows(#"Added Custom", each ([Custom] = "Keep"))
in
#"Filtered Rows"
________________________
Si mi respuesta fue útil, considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla
Haga clic en el icono Thumbs-Up si le gusta esta respuesta 🙂
⭕ Subscribe and learn Power BI from these videos
⚪ Website ⚪ LinkedIn ⚪ PBI User Group
Hola @Fowmy
¿Puedes por favor compartir el pbix para que vea los pasos aplicados que hiciste?
Muchas gracias 🙂
Puede descargar el archivo: HERE
________________________
Si mi respuesta fue útil, considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla
Haga clic en el icono Thumbs-Up si le gusta esta respuesta 🙂
⭕ Subscribe and learn Power BI from these videos
⚪ Website ⚪ LinkedIn ⚪ PBI User Group
Resuelto @Fowmy
Hizo un pequeño cambio en su paso para obtener la fecha más reciente por cada fila de concat:
¡Gracias un molino!
Hola @Fowmy
He probado la solución, pero detecté 2 cosas:
¿Puede filtrar en la pestaña de datos por ejemplo el identificador de instalación "4917" y el parámetro "pH", me mostró 2 filas, pero debe ser sólo una fila:
La otra cosa es que si filtro la columna de identificación de la instalación, sólo veo algunos de ellos (algunos se han ido):
Por ejemplo, el archivo original tiene el identificador de instalación "6423", pero después de todos los pasos de Power Query no aparece.
¿Me puedes ayudar?
Gracias.
Hola @o59393 ,
Por favor, consulte :
Dejar
Origen: Excel.Workbook(File.Contents("C:-Usuarios-dedmond-Descargas-Duplicates removed.xlsx"), null, true),
Sheet1_Sheet de origen de la fuente [Artículo"Hoja1","Hoja"]-[Datos],
"Encabezados promocionados" - Table.PromoteHeaders(Sheet1_Sheet, [PromoteAllScalars-true]),
"Tipo cambiado" - Table.TransformColumnTypes("Encabezados Promocionados","ID de instalación", Int64.Type, "Especificación / Especificación", escriba texto, "Año", Int64.Type, "ES-RQ-225 Parámetro / Parámetro", escriba texto, "Q1", escriba fecha, "Resultado / Resultado (Q1)", Int64.Type, ?"Cumple? / ¿Cumple?", escriba text, "Q2", escriba date, "Resultado / Resultado (Q2)", Int64.Type, ?"Cumple? / Cumple?_1", escriba text, "Q3", escriba date, "Resultado / Resultado (Q3)", Int64.Type, ?"Cumple? / Cumple?_2", escriba text, "Q4", escriba date, "Resultado / Resultado (Q4)", Int64.Type, ?"Cumple? / Cumple?_3", escriba text, "Especificación / Specification_4", Int64.Type, "Q1_5", tipo date, "Resultado / Resultado (Q1)_6", Int64.Type, ?"Cumple? / Cumple?_7", escriba text, "Q2_8", escriba date, "Resultado / Resultado (Q2)_9", Int64.Type, "Cumple? / Cumple?_10", escriba text, "Q3_11", escriba date, "Resultado / Resultado (Q3)_12", Int64.Type, ?"Cumple? / Cumple?_13", escriba text, "Q4_14", escriba date, "Resultado / Resultado (Q4)_15", Int64.Type, ?"Cumple? / Cumple?_16", escriba text, "Duplicates", Int64.Type, "Date modified", escriba datetime, "Date created", escriba datetime-), escriba datetime-),
"Filas agrupadas" - Table.Group(-"Changed Type", "Duplicates", "ID de la instalación", "AllRows", cada _, tabla de tipo [ID de la instalación, número que se puede anular, "Especificación / Especificación" , número que se puede anular, Año , número que se puede null, "ES-RQ-225 Parámetro / Parámetro"- texto anulable, Q1-fecha que se puede anular, "Resultado / Resultado (Q1)"número nulo, ?"Cumple? / Cumple?" •texto que acepta valores NULL, fecha de Q2-nullable, "Resultado / Resultado (Q2)"-número que acepta valores NULL, "Cumple? / Cumple?_1"-texto que se puede anular, Q3-fecha que se puede anular, "Resultado / Resultado (Q3)"-número que se puede anular, ?"Cumple? / Cumple?_2"-texto que se puede anular, Q4-fecha que acepta valores NULL, "Resultado / Resultado (Q4)"-número que se puede anular, ?"Cumple? / Cumple?_3"-texto que se puede anular, "Especificación / Specification_4"-número que acepta valores NULL, Q1_5-fecha que acepta valores NULL, "Resultado / Resultado (Q1)_6" ? / Cumples?_7"-texto que se puede anular, Q2_8-fecha que acepta valores NULL, "Resultado / Resultado (Q2)_9"-número que se puede anular, ?"Cumple? / Cumple?_10"-texto que se puede anular, Q3_11-fecha que se puede anular null, "Resultado / Resultado (Q3)_12" - número que se puede anular, ?"Cumple? / Cumple?_13"-texto que se puede anular, Q4_14-fecha que se puede anular null, "Resultado / Resultado (Q4)_15"-número que se puede anular, ?"Cumple? / Cumple?_16"-texto que se puede anular, Duplicados-número que se puede null, Fecha de modificación de fecha y hora nula, Fecha de creación, fecha y hora que se puede null]),
RankFunction (tabletarank como tabla) como tabla ?>
Dejar
SortRows ? Table.Sort(tabletorank,'Date created", Order.Descending'),
AddIndex ? Table.AddIndexColumn(SortRows, "Rank", 1, 1)
En
AddIndex,
AddedRank - Table.TransformColumns(-"Filas agrupadas", "AllRows", cada RankFunction(_))
"Expanded AllRows" - Table.ExpandTableColumn(AddedRank, "AllRows", "ID de instalación", "Especificación / Especificación", "Año", "ES-RQ-225 Parámetro / Parámetro", "Q1", "Resultado / Resultado (Q1)", "Cumple? / ¿Cumple?", "Q2", "Resultado / Resultado (Q2)", "Cumple? / Cumple?_1", "Q3", "Resultado / Resultado (Q3)", "Cumple? / Cumple?_2", "Q4", "Resultado / Resultado (Q4)", "Cumple? / Cumple?_3", "Especificación / Specification_4", "Q1_5", "Resultado / Resultado (Q1)_6", "Cumple? / Cumple?_7", "Q2_8", "Resultado / Resultado (Q2)_9", "Cumple? / Cumple?_10", "Q3_11", "Resultado / Resultado (Q3)_12", "Cumple? / Cumple?_13", "Q4_14", "Resultado / Resultado (Q4)_15", "Cumple? / Cumples?_16", "Duplicates", "Date modified", "Date created", "Rank", "AllRows.Facility ID", "AllRows.Especificación / Specification", "AllRows.Year", "AllRows.ES-RQ-225 Parámetro / Parameter", "AllRows.Q1", "AllRows.Resultado / (Q1)", "AllRows.) / Cumple?", "AllRows.Q2", "AllRows.Resultado / Resultado (Q2)", "AllRows.Cumple? / Cumple?_1", "AllRows.Q3", "AllRows.Resultado / Resultado (Q3)", "AllRows.Cumple? / Cumple?_2", "AllRows.Q4", "AllRows.Resultado / Resultado (Q4)", "AllRows.Cumple? / Cumples?_3", "AllRows.Especificación / Specification_4", "AllRows.Q1_5", "AllRows.Resultado / Resultado (Q1)_6", "AllRows.Cumple? / Cumple?_7", "AllRows.Q2_8", "AllRows.Resultado / Result (Q2)_9", "AllRows.Cumple? / Cumple?_10", "AllRows.Q3_11", "AllRows.Resultado / Resultado (Q3)_12", "AllRows.Cumple? / Cumple?_13", "AllRows.Q4_14", "AllRows.Resultado / Resultado (Q4)_15", "AllRows.Cumple? / Cumple?_16", "AllRows.Duplicates", "AllRows.Date modified", "AllRows.Date created", "AllRows.Rank"-),
"Columna duplicada" - Table.AddColumn(-"Expanded AllRows", "AllRows.Rank - Copy", cada [AllRows.Rank], escriba any),
"Columnas eliminadas" - Table.RemoveColumns(-"Duplicated Column","AllRows.Rank - Copy"-),
"Añadido Personalizado" - Table.AddColumn("Columnas eliminadas", "Personalizado", cada uno if[Duplicados]<2 luego 1 más [AllRows.Rank]),
"Filas filtradas" - Table.SelectRows(-"Added Custom", cada uno ([Personalizado] - 1)),
"Columnas eliminadas1" - Table.RemoveColumns("Filas filtradas","AllRows.Rank", "Personalizado" )
"Rows1" - Table.SelectRows("Removed Columns1", cada uno true),
"Columnas eliminadas3" - Table.RemoveColumns(-"Rows Filtered1","AllRows.Facility ID"-),
"Columnas eliminadas2" - Table.RemoveColumns(-"Removed Columns3","AllRows.Duplicates"-),
"Eliminados Duplicados" - Table.Distinct(-"Columnas eliminadas2", "ID de la instalación")
"Columnas renombradas" - Table.RenameColumns("Removed Duplicates","AllRows.Especificación / Specification", "Especificación / Especificación", "AllRows.Year", "Año", "AllRows.ES-RQ-225 Parámetro / Parámetro", "ES-RQ-225 Parámetro / Parámetro", "AllRows.Q1", "Q1", "AllRows.Resultado / Resultado (Q1)", "Resultado / Resultado (Q1)", "Resultado / Resultado (Q1)"? / ¿Cumple?", "¿Cumple? /¿Cumple?", "AllRows.Q2", "Q2", "AllRows.Resultado / Resultado (Q2)", "Resultado / Resultado (Q2)", ?"AllRows.Cumple? / Cumple?_1", "Cumple? / Cumples?_1", "AllRows.Q3", "Q3", "AllRows.Resultado / Resultado (Q3)", "Resultado / Resultado (Q3)", ?"AllRows.Cumple?? / Cumple?_2", "Cumple? / Cumples?_2", "AllRows.Q4", "Q4", "AllRows.Resultado / Resultado (Q4)", "Resultado / Resultado (Q4)", ?"AllRows.Cumple?? / Cumple?_3", "Cumple? / Cumples?_3", "AllRows.Especificación / Specification_4", "Especificación / Specification_4", "AllRows.Q1_5", "Q1_5", "AllRows Resultado / Resultado (Q1)_6", "Resultado / Resultado (Q1)_6", "AllRows.Cumple? / Cumple?_7", "Cumple? / Cumples?_7", "AllRows.Q2_8", "Q2_8", "AllRows.Resultado / Resultado (Q2)_9", "Resultado / Resultado (Q2)_9", "AllRows.Cumple? / Cumple?_10", "Cumple? / Cumple?_10", "AllRows.Q3_11", "Q3_11", "AllRows.Resultado / Resultado (Q3)_12", "Resultado / Resultado (Q3)_12", "AllRows.Cumple? / Cumple?_13", "Cumple? / Cumple?_13", "AllRows.Q4_14", "Q4_14", "AllRows.Resultado / Resultado (Q4)_15", "Resultado / Resultado (Q4)_15", "AllRows.Cumple? / Cumple?_16", "Cumple? / Cumple?_16" , "AllRows.Date modificado", "Fecha de modificación", "AllRows.Date created", "Fecha de creación", "Fecha de creación" )
En
"Columnas renombradas"
Para obtener más información, consulte el archivo pbix: https://qiuyunus-my.sharepoint.com/:u:/g/personal/pbipro_qiuyunus_onmicrosoft_com/EU5t7uwEdedFjUeLbG...
Si este post ayuda, entonces considera Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
Saludos
Dedmon Dai
@o59393
Puede compartir una muestra de sus datos como csv o Excel, el PBIX necesita credenciales.
________________________
Si mi respuesta fue útil, considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla
Haga clic en el icono Thumbs-Up si le gusta esta respuesta 🙂
⭕ Subscribe and learn Power BI from these videos
⚪ Website ⚪ LinkedIn ⚪ PBI User Group
Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City
Check out the April 2024 Power BI update to learn about new features.
User | Count |
---|---|
2 | |
2 | |
2 | |
2 | |
1 |