Forum Discussion
difat
Sep 10, 2019Copper Contributor
How to convert JSON data into Excel table in Power Query
I would like to import the JSON file into Excel, I am using Power Query as I'm not versed in VBA. I would like the output to look like this: The issue I'm having is figuring out how to to tran...
SergeiBaklan
Sep 11, 2019Diamond Contributor
For such result
as next step from your second screenshort you may expand last column "rows" to rows. After that add custom column to create records from two last columns using
each Record.FromList([rows],[columnNames]
Here keep only this column and expand it. Generated script is
let
Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
#"Parsed JSON" = Table.TransformColumns(Source,{},Json.Document),
#"Expanded JSON" = Table.ExpandRecordColumn(
#"Parsed JSON",
"JSON",
{"items"}, {"items"}
),
#"Expanded items" = Table.ExpandListColumn(#"Expanded JSON", "items"),
ExpandedRecords = Table.ExpandRecordColumn(
#"Expanded items",
"items",
{"tableName", "count", "columnNames", "rows"},
{"tableName", "count", "columnNames", "rows"}
),
#"Expanded rows" = Table.ExpandListColumn(ExpandedRecords, "rows"),
#"Added Custom" = Table.AddColumn(
#"Expanded rows",
"Records",
each Record.FromList([rows],[columnNames])
),
#"Removed Other Columns" = Table.SelectColumns(
#"Added Custom",
{"Records"}
),
#"Expanded Records" = Table.ExpandRecordColumn(
#"Removed Other Columns",
"Records",
{"id", "createdTime", "updatedTime", "name", "category", "id2", "subject", "text"},
{"id", "createdTime", "updatedTime", "name", "category", "id2", "subject", "text"}
)
in
#"Expanded Records"
Please check sample in attached.
difat
Sep 19, 2019Copper Contributor
SergeiBaklan Thank you for your help!
- SergeiBaklanSep 19, 2019Diamond Contributor
difat , you are welcome