Don't miss your chance to take the Fabric Data Engineer (DP-600) exam for FREE! Find out how by attending the DP-600 session on April 23rd (pacific time), live or on-demand.
Learn moreNext up in the FabCon + SQLCon recap series: The roadmap for Microsoft SQL and Maximizing Developer experiences in Fabric. All sessions are available on-demand after the live show. Register now
Hi guys, I'm expanding some data and I came across the following problem, in the image below appears the icon to expand the data and I can expand normally.
After expanding there is another step which is more "records" and "lists".
if I click on record the following data appears.Take Start
if I click on Lists the following data appears.
How can i expanded or extract all data?
Tks
Solved! Go to Solution.
Hi @Anonymous
Here is a post with similar problem like yours. You may refer to this and I hope it could help you.
For reference: Transforming json with power query (mix of list and record in a single column)
This code may help you.
let
source = Json.Document(File.Contents("d:\path\filename.json")),
tabled = Table.FromRecords({source}),
expandListField = Table.ExpandListColumn(tabled, "thingstodo"),
expandRecField = Table.ExpandRecordColumn(expandListField, "thingstodo", {"propCode", "hours"}, {"propCode", "hours"}),
expandList2 = Table.ExpandListColumn(expandRecField, "hours"),
fieldForRec = Table.AddColumn(expandList2,"Rec",each if Value.Is([hours], type record) then [hours] else null,type record),
fieldForList = Table.AddColumn(fieldForRec, "List",each if Value.Is([hours], type list) then [hours] else null,type list),
removed = Table.RemoveColumns(fieldForList, {"hours"}),
expandRecField2 = Table.ExpandRecordColumn(removed, "Rec", {"day", "time"}, {"day", "time"}),
expandList3 = Table.ExpandListColumn(expandRecField2, "List")
in
expandList3
Best Regards,
Rico Zhou
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
Hi @Anonymous
Here is a post with similar problem like yours. You may refer to this and I hope it could help you.
For reference: Transforming json with power query (mix of list and record in a single column)
This code may help you.
let
source = Json.Document(File.Contents("d:\path\filename.json")),
tabled = Table.FromRecords({source}),
expandListField = Table.ExpandListColumn(tabled, "thingstodo"),
expandRecField = Table.ExpandRecordColumn(expandListField, "thingstodo", {"propCode", "hours"}, {"propCode", "hours"}),
expandList2 = Table.ExpandListColumn(expandRecField, "hours"),
fieldForRec = Table.AddColumn(expandList2,"Rec",each if Value.Is([hours], type record) then [hours] else null,type record),
fieldForList = Table.AddColumn(fieldForRec, "List",each if Value.Is([hours], type list) then [hours] else null,type list),
removed = Table.RemoveColumns(fieldForList, {"hours"}),
expandRecField2 = Table.ExpandRecordColumn(removed, "Rec", {"day", "time"}, {"day", "time"}),
expandList3 = Table.ExpandListColumn(expandRecField2, "List")
in
expandList3
Best Regards,
Rico Zhou
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
@Anonymous Looks like you are trying to squeeze a square peg (JSON) through a round hole (Power Query table). Which of the fields from the source data do you actually need for your reporting? Can that data be meaningfully flattened into a table or should it stay in its hierarchical form?
If you have recently started exploring Fabric, we'd love to hear how it's going. Your feedback can help with product improvements.
A new Power BI DataViz World Championship is coming this June! Don't miss out on submitting your entry.
Experience the highlights from FabCon & SQLCon, available live and on-demand starting April 14th.
| User | Count |
|---|---|
| 47 | |
| 44 | |
| 40 | |
| 20 | |
| 15 |
| User | Count |
|---|---|
| 70 | |
| 68 | |
| 32 | |
| 27 | |
| 25 |