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.
En primer lugar, los datos, mi api devuelve esto:
[
{
"resultado": {
"1": "Reparación",
"2": "Revisión",
"3": "Reemplazar",
"4": "Forro",
"5": "Forro",
"6": "Reparación",
"7": "Reparación",
"8": "Reemplazar",
"9": "Revisión",
"10": "Forro"
},
"nombre": "Planificación de la ciudad de Quebec invierno 2020"
},
{
"resultado": {
"11": "Reparación",
"12": "Revisión",
"13": "Reparación",
"14": "Forro",
"15": "Reemplazar",
"16": "Reparación",
"17": "Forro",
"18": "Reparación",
"19": "Reparación",
"20": "Forro"
},
"nombre": "Planificación de la ciudad de Múnich"
}
]
mi resultado final que quiero dinámicamente es el siguiente:
Nombre| id | acción|
planificación de la ciudad de Múnich | 20 | Forro |
..... etc
Planificación del | de la ciudad de Quebec 1 | Reparar |
...... etc
Sin embargo, cuando uso el escritorio para hacer esto cuando expando el registro:
Obteré algo como:
expandRecordPipesAndAction = Table.ExpandRecordColumn(expandGradesRecords, "result", {"1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20"}, {"1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20"}),
Mi objetivo es expandir los registros dinámicamente, así que probé este enfoque ( fuente : https://www.youtube.com/watch?v=wG3J8lO9d5I )
código:
dejar
url = baseUrl,
json = GetJsonContent(url),
convertToTable = Table.FromList(json, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
#"Convertido a tabla" = Table.FromList(converToTable, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
#"Columna expandida1" = Table.ExpandRecordColumn(#"Convertido a tabla", "Column1", {"result", "name"}, {"result", "name"}),
#"Resultado expandido" = Table.ExpandRecordColumn(#"Expanded Column1", "result", Table.ColumnNames(Table.FromRecords(List.Select(Table.Column(#"Expanded Column1", "result"), cada _ <> null y _ <> ""))), Table.ColumnNames(Table.FromRecords(List.Select(Table.Column(#"Expanded Column1", "result"), cada _ <> null y _ <> ""))))
en
#"Resultado expandido"
Pero no amplía el segundo disco que va 11 a 20 y se ve así:
Este es el código codificado duro que funciona para mi resultado final deseado:
dejar
url = baseUrl ,
json = GetJsonContent(url),
convertToTable = Table.FromList(json, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
expandGradesRecords = Table.ExpandRecordColumn(convertToTable, "Column1", {"result", "name"}, {"result", "name"}),
expandRecordPipesAndAction = Table.ExpandRecordColumn(expandGradesRecords, "result", {"1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20"}, {"1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20"}),
final_result = Table.UnpivotOtherColumns(expandRecordPipesAndAction, {"name"}, "Pipe Id", "Planning Action")
en
final_result;
Mi pregunta es ¿cómo puedo ampliar los segundos registros dinámicamente y por qué no funciona en este momento?
Solved! Go to Solution.
Aquí hay un enfoque ligeramente diferente que no requiere que conozca los nombres de los elementos de registro.
dejar
Fuente = Json.Document( "[
{
""resultado"": {
""1"": ""Reparación"",
""2"": ""Revisión"",
""3"": ""Reemplazar"",
""4"": ""Forro"",
""5"": ""Forro"",
""6"": ""Reparación"",
""7"": ""Reparación"",
""8"": ""Reemplazar"",
""9"": ""Revisión"",
""10"": ""Forro""
},
""nombre": "Planificación de la ciudad de Quebec invierno 2020""
},
{
""resultado"": {
""11"": ""Reparación"",
""12"": ""Revisión"",
""13"": ""Reparación"",
""14"": ""Forro"",
""15"": ""Reemplazar"",
""16"": ""Reparación"",
""17"": ""Forro"",
""18"": ""Reparación"",
""19"": ""Reparación"",
""20"": ""Forro""
},
""nombre": "Planificación de la ciudad de Múnich""
}
]"),
#"Convertido a tabla" = Table.FromList(Source, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
#"Columna expandida1" = Table.ExpandRecordColumn(#"Convertido a tabla", "Column1", {"result", "name"}, {"result", "name"}),
#"Added Custom" = Table.AddColumn(#"Expanded Column1", "R", cada Record.FieldNames([result])),
#"Expandido R" = Table.ExpandListColumn(#"Added Custom", "R"),
#"Added Custom1" = Table.AddColumn(#"Expanded R", "S", cada Record.FieldOrDefault([result],[R])),
#"Removed Other Columns" = Table.SelectColumns(#"Added Custom1",{"name", "R", "S"})
en
#"Eliminar otras columnas"
Aquí hay un enfoque ligeramente diferente que no requiere que conozca los nombres de los elementos de registro.
dejar
Fuente = Json.Document( "[
{
""resultado"": {
""1"": ""Reparación"",
""2"": ""Revisión"",
""3"": ""Reemplazar"",
""4"": ""Forro"",
""5"": ""Forro"",
""6"": ""Reparación"",
""7"": ""Reparación"",
""8"": ""Reemplazar"",
""9"": ""Revisión"",
""10"": ""Forro""
},
""nombre": "Planificación de la ciudad de Quebec invierno 2020""
},
{
""resultado"": {
""11"": ""Reparación"",
""12"": ""Revisión"",
""13"": ""Reparación"",
""14"": ""Forro"",
""15"": ""Reemplazar"",
""16"": ""Reparación"",
""17"": ""Forro"",
""18"": ""Reparación"",
""19"": ""Reparación"",
""20"": ""Forro""
},
""nombre": "Planificación de la ciudad de Múnich""
}
]"),
#"Convertido a tabla" = Table.FromList(Source, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
#"Columna expandida1" = Table.ExpandRecordColumn(#"Convertido a tabla", "Column1", {"result", "name"}, {"result", "name"}),
#"Added Custom" = Table.AddColumn(#"Expanded Column1", "R", cada Record.FieldNames([result])),
#"Expandido R" = Table.ExpandListColumn(#"Added Custom", "R"),
#"Added Custom1" = Table.AddColumn(#"Expanded R", "S", cada Record.FieldOrDefault([result],[R])),
#"Removed Other Columns" = Table.SelectColumns(#"Added Custom1",{"name", "R", "S"})
en
#"Eliminar otras columnas"
Funciona como un encanto, gracias !
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 |
---|---|
1 | |
1 | |
1 | |
1 | |
1 |