Earn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It challenge.
hola
Tengo una tabla con una fila por dirección
Tabla de direcciones e ingresos | ||
Referencia de la propiedad | dirección | renta |
1234 | Calle Dax 100 | £3,000 |
5678 | 303 Calcular carretera | £4,000 |
91011 | 123 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 | ||
fecha | orden | tipo de descuento |
01/01/2021 | 1 | 0.037 |
01/01/2022 | 2 | 0.037 |
01/01/2023 | 3 | 0.037 |
01/01/2024 | 4 | 0.037 |
01/01/2025 | 5 | 0.037 |
01/01/2026 | 6 | 0.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 propiedad | dirección | renta | índice | fecha |
1234 | Calle Dax 100 | £3,000 | 1 | 01/01/2021 |
1234 | Calle Dax 100 | £3,000 | 2 | 01/01/2022 |
1234 | Calle Dax 100 | £3,000 | 3 | 01/01/2023 |
1234 | Calle Dax 100 | £3,000 | 4 | 01/01/2024 |
1234 | Calle Dax 100 | £3,000 | 5 | 01/01/2025 |
1234 | Calle Dax 100 | £3,000 | 6 | 01/01/2026 |
5678 | 303 Calcular carretera | £4,000 | 1 | 01/01/2021 |
5678 | 303 Calcular carretera | £4,000 | 2 | 01/01/2022 |
5678 | 303 Calcular carretera | £4,000 | 3 | 01/01/2023 |
5678 | 303 Calcular carretera | £4,000 | 4 | 01/01/2024 |
5678 | 303 Calcular carretera | £4,000 | 5 | 01/01/2025 |
5678 | 303 Calcular carretera | £4,000 | 6 | 01/01/2026 |
91011 | 123 Evaluar calle | £2,500 | 1 | 01/01/2021 |
91011 | 123 Evaluar calle | £2,500 | 2 | 01/01/2022 |
91011 | 123 Evaluar calle | £2,500 | 3 | 01/01/2023 |
91011 | 123 Evaluar calle | £2,500 | 4 | 01/01/2024 |
91011 | 123 Evaluar calle | £2,500 | 5 | 01/01/2025 |
91011 | 123 Evaluar calle | £2,500 | 6 | 01/01/2026 |
Gracias
Richard
Solved! Go to Solution.
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
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"
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
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
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"