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

Power Query: duplicar filas y agregar columnas adicionales

hola

Tengo una tabla con una fila por dirección

Tabla de direcciones e ingresos
Referencia de la propiedaddirecciónrenta
1234Calle Dax 100£3,000
5678303 Calcular carretera£4,000
91011123 Evaluar calle£2,500

Me gustaría usar power query para duplicar cada una de estas filas varias veces, pero también agregar algunas columnas adicionales (se muestra a continuación) En el informe real me gustaría agregar 30 filas por propiedad, pero para este ejemplo ficticio solo te muestro 6 filas

Además de esta solicitud, me gustaría que la primera fecha tuviera el año actual y todas las fechas restantes después de cambiar en función de la primera fecha.

Columnas que se van a agregar
fechaordentipo de descuento
01/01/202110.037
01/01/202220.037
01/01/202330.037
01/01/202440.037
01/01/202550.037
01/01/202660.027

La razón de esta solicitud es para mis empresas plan de 30 años, que voy a añadir el valor presente neto (VPN)

Mi resultado esperado basado en mi tabla de ejemplo sería ,

Resultado deseado
Referencia de la propiedaddirecciónrentaíndicefecha
1234Calle Dax 100£3,000101/01/2021
1234Calle Dax 100£3,000201/01/2022
1234Calle Dax 100£3,000301/01/2023
1234Calle Dax 100£3,000401/01/2024
1234Calle Dax 100£3,000501/01/2025
1234Calle Dax 100£3,000601/01/2026
5678303 Calcular carretera£4,000101/01/2021
5678303 Calcular carretera£4,000201/01/2022
5678303 Calcular carretera£4,000301/01/2023
5678303 Calcular carretera£4,000401/01/2024
5678303 Calcular carretera£4,000501/01/2025
5678303 Calcular carretera£4,000601/01/2026
91011123 Evaluar calle£2,500101/01/2021
91011123 Evaluar calle£2,500201/01/2022
91011123 Evaluar calle£2,500301/01/2023
91011123 Evaluar calle£2,500401/01/2024
91011123 Evaluar calle£2,500501/01/2025
91011123 Evaluar calle£2,500601/01/2026

Gracias

Richard

1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator

No @cottrera

Dijiste 30 filas, la muestra era de 6 filas. Y no estoy seguro de si tiene esa tabla contiene fecha, orden, tasa de descuento, así que lo estoy haciendo con 6 filas y ninguna otra tabla. Si necesita 30 filas, cambie Contador =30

Vera_33_0-1626748050019.png

let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMjQyNlHSUTI0MFBwSaxQCC4pSk0tAQocWmysY2BgoBSrE61kamZuARQyNjBWcE7MSS7NSSxJVQjKT0wBqzOBq7M0NDA0BBlmZKzgWpaYUwpSh2SikY4pSGUsAA==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [#"Property Reference" = _t, Address = _t, Income = _t]),
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"Property Reference", Int64.Type}, {"Address", type text}, {"Income", Currency.Type}}),
    Counter=6,
    initialList = {0..Counter-1},
    startYear = Date.Year( DateTime.LocalNow()),
    YearList = List.Transform(initialList, each _ +startYear),
    #"Converted to Table" = Table.FromList(YearList, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
    #"Added Custom" = Table.AddColumn(#"Converted to Table", "Date", each #date([Column1],1,1)),
    #"Added Index" = Table.AddIndexColumn(#"Added Custom", "Index", 1, 1, Int64.Type),
    #"Removed Columns" = Table.RemoveColumns(#"Added Index",{"Column1"}),
    Custom1 = Table.AddColumn(#"Changed Type", "new",each #"Removed Columns"),
    #"Expanded new" = Table.ExpandTableColumn(Custom1, "new", {"Date", "Index"}, {"Date", "Index"})
in
    #"Expanded new"

View solution in original post

2 REPLIES 2
Syndicate_Admin
Administrator
Administrator

Gracias Vera_33 su M-Code trabajó en mi mesa de demostración. Intentaré editarlo para que funcione en mi tabla viva acutual

saludos

Richard

Syndicate_Admin
Administrator
Administrator

No @cottrera

Dijiste 30 filas, la muestra era de 6 filas. Y no estoy seguro de si tiene esa tabla contiene fecha, orden, tasa de descuento, así que lo estoy haciendo con 6 filas y ninguna otra tabla. Si necesita 30 filas, cambie Contador =30

Vera_33_0-1626748050019.png

let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMjQyNlHSUTI0MFBwSaxQCC4pSk0tAQocWmysY2BgoBSrE61kamZuARQyNjBWcE7MSS7NSSxJVQjKT0wBqzOBq7M0NDA0BBlmZKzgWpaYUwpSh2SikY4pSGUsAA==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [#"Property Reference" = _t, Address = _t, Income = _t]),
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"Property Reference", Int64.Type}, {"Address", type text}, {"Income", Currency.Type}}),
    Counter=6,
    initialList = {0..Counter-1},
    startYear = Date.Year( DateTime.LocalNow()),
    YearList = List.Transform(initialList, each _ +startYear),
    #"Converted to Table" = Table.FromList(YearList, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
    #"Added Custom" = Table.AddColumn(#"Converted to Table", "Date", each #date([Column1],1,1)),
    #"Added Index" = Table.AddIndexColumn(#"Added Custom", "Index", 1, 1, Int64.Type),
    #"Removed Columns" = Table.RemoveColumns(#"Added Index",{"Column1"}),
    Custom1 = Table.AddColumn(#"Changed Type", "new",each #"Removed Columns"),
    #"Expanded new" = Table.ExpandTableColumn(Custom1, "new", {"Date", "Index"}, {"Date", "Index"})
in
    #"Expanded new"

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.