ฉันกำลังพยายามโหลดไฟล์ JSON ที่ดึงจาก data.gov ไปยัง Power Query เพื่อจัดการ แต่ฉันไม่สามารถหาวิธีรับ Power Query เพื่อแปลงไฟล์ JSON ให้อยู่ในรูปแบบตาราง
มีวิธีแปลง JSON เป็นตารางใน Power Query โดยไม่ต้องเขียนแบบสอบถามแบบกำหนดเองหรือไม่
ฉันกำลังพยายามโหลดไฟล์ JSON ที่ดึงจาก data.gov ไปยัง Power Query เพื่อจัดการ แต่ฉันไม่สามารถหาวิธีรับ Power Query เพื่อแปลงไฟล์ JSON ให้อยู่ในรูปแบบตาราง
มีวิธีแปลง JSON เป็นตารางใน Power Query โดยไม่ต้องเขียนแบบสอบถามแบบกำหนดเองหรือไม่
คำตอบ:
ข้อมูล JSON มักปรากฏเป็น Records ภายในรายการภายใน Records (และรูปแบบอื่น ๆ ) โดยปกติคุณสามารถใช้ PQ UI เพื่อขยายวัตถุเหล่านั้นโดยไม่ต้องเขียนโค้ด
นี่คือตัวอย่างจุดปลาย JSON: http://api.nobelprize.org/v1/laureate.json
หลังจากเรียกใช้ PQ "จากเว็บ" ขั้นตอนต่อไปคือการคลิกปุ่มเครื่องมือบันทึก / แปลง / เป็นตารางในริบบิ้น PQ
ส่งคืนแถวเดียวโดยมีคอลัมน์ที่สอง (ค่า) ที่มีรายการ คลิกปุ่มขยายถัดจาก "ค่า" เพื่อขยายรายการ
สิ่งนี้จะส่งคืนหลายแถวโดยที่แต่ละคอลัมน์ที่สอง (ค่า) จะมีระเบียนอยู่ในขณะนี้ ขยายระเบียนเพื่อรับคอลัมน์ของข้อมูลในรูปแบบตาราง
โปรดทราบว่ามีความลึกมากขึ้นในรูปแบบ JSON นี้โดยเฉพาะ - ดูคอลัมน์ Value.prizes ที่ด้านขวาสุด ขั้นตอนที่แน่นอนของคุณอาจแตกต่างกันไปขึ้นอยู่กับอินพุต JSON และข้อกำหนดเอาต์พุตของคุณ
นี่คือรหัสเต็มรูปแบบในการไปยังตาราง - แต่ละขั้นตอนสร้างขึ้นโดยการคลิกที่ UI
let
Source = Json.Document(Web.Contents("http://api.nobelprize.org/v1/laureate.json")),
#"Converted to Table" = Record.ToTable(Source),
#"Expanded Value" = Table.ExpandListColumn(#"Converted to Table", "Value"),
#"Expanded Value1" = Table.ExpandRecordColumn(#"Expanded Value", "Value",
{"id", "firstname", "surname", "born", "died", "bornCountry", "bornCountryCode",
"bornCity", "diedCountry", "diedCountryCode", "diedCity", "gender", "prizes"},
{"id", "firstname", "surname", "born", "died", "bornCountry", "bornCountryCode",
"bornCity", "diedCountry", "diedCountryCode", "diedCity", "gender", "prizes"})
in
#"Expanded Value1"