Json.Document ใช้สำหรับแปลง JSON text หรือ binary data ให้เป็น Power Query record ทำให้คุณสามารถเข้าถึง field แต่ละตัวได้อย่างง่ายดาย
| อาร์กิวเมนต์ | ชนิด | ค่าเริ่มต้น | คำอธิบาย |
|---|---|---|---|
| jsonText | Text หรือ Binary | JSON content ที่ต้องการแปลง อาจเป็น text string หรือ binary data จาก File.Contents หรือ Web.Contents | |
| [encoding]ไม่บังคับ | TextEncoding.Type | TextEncoding.Utf8 | Encoding ของ JSON document (เช่น TextEncoding.Utf8, TextEncoding.Utf16) ถ้าไม่ระบุ Power Query จะใช้ UTF-8 โดยอัตโนมัติ |
[ ] = อาร์กิวเมนต์ที่ไม่บังคับ
Json.Document เป็นฟังก์ชั่นสำหรับแปลง JSON content ให้เป็น Power Query data structure (record หรือ list) ทำให้คุณสามารถทำงานกับ JSON data ได้ในลักษณะเดียวกับการทำงานกับตาราง
ที่เจ๋งคือ Json.Document ทำให้คุณไม่ต้องแยก JSON ด้วยตัวเองใช้ text functions หรือ regex อีกต่อไป แค่ pass JSON text เข้า Json.Document มันก็จะ handle ทั้งหมดให้ คุณจะได้ record สะอาดๆ พร้อมใช้งาน
ส่วนตัวผมใช้ Json.Document กับ Web.Contents เสมอเวลาที่ต้อง call REST API ที่ return JSON แบบนี้ Json.Document(Web.Contents(url)) ก็ได้ record พร้อมใช้แล้ว ข้อดีคือมันไม่ต้องพึ่ง external library ใดๆ ถือว่าสะดวกมาก 😎
แปลง JSON string ให้เป็น Power Query record ที่สามารถเข้าถึงแต่ละ field ได้ (เช่น Parsed[name], Parsed[age])
แปลง JSON array ให้เป็น list ของ record จากนั้นใช้ Table.FromList เพื่อแปลงเป็นตาราง
อ่านไฟล์ JSON จาก disk โดยใช้ File.Contents แล้วแปลง binary data เป็น Power Query record
เรียก REST API ที่ return JSON ก่อน จากนั้นใช้ Json.Document แปลง JSON response เป็น Power Query record
กำหนด encoding อย่างชัดเจนเมื่อ JSON file ใช้ encoding ที่ไม่ใช่ UTF-8 เช่น UTF-16
Json.Document คือการแปลง JSON text/binary เป็น record (parsing) ส่วน Json.FromValue คือการแปลง Power Query record/list เป็น JSON text (serializing) ตรงกันข้ามเลย
Power Query จะ throw error แล้วบอกว่าตำแหน่งไหนใน JSON ที่มี syntax error เช่น missing quote หรือ comma ที่ไม่ครบ ต้องแก้ JSON format ให้ถูกต้องก่อน
ได้เลย Json.Document จะ parse nested objects และ arrays ให้เป็น nested records และ lists ในภายหลังคุณสามารถใช้ record access syntax หรือ Table.ExpandRecordColumn เพื่อ expand nested data
ไม่จำเป็น Json.Document สามารถรับ JSON text string โดยตรง หรือ binary data ก็ได้ ใช้กับ Web.Contents หรือ File.Contents เพราะว่ามันสะดวก แต่ถ้า JSON text อยู่ในคอลัมน์ของตาราง ก็สามารถ parse ได้เช่นเดียวกัน
ฟังก์ชันที่ผู้เขียนโยงไว้กับ Json.Document จัดกลุ่มตามหมวด · ชี้ที่ชื่อใดชื่อหนึ่ง แล้วฟังก์ชันที่ใช้คู่กันจะมีจุดทอง
Csv.Document แปลงข้อมูลรูปแบบ CSV (Comma-Separated Values) ให้เป็นตารางข้อมูล (table) ใน Power Query โดยรองรับการกำหนดตัวแบ่งข้อมูล (delimiter), รหัสภาษา (encoding) และโครงสร้างคอลัมน์ (column structure) แบบต่างๆ ได้ตามความต้องการ function นี้สามารถแยกวิเคราะห์ทั้งข้อมูลแบบ binary content ที่ได้จาก File.Contents และข้อความแบบ text string ที่ได้จาก Web.Contents พร้อมจัดการข้อความที่ครอบด้วย quote ตามมาตรฐานสากล CSV standard เหมาะสมสำหรับการนำเข้าไฟล์ CSV จากระบบไฟล์ในเครื่อง (local), ที่อยู่เว็บไซต์ (URL) หรือการตอบกลับจาก API (API response) ที่มีตัวแบ่งข้อมูลแบบกำหนดเอง (custom delimiter), เนื้อหาภาษาต่างประเทศ หรือโครงสร้างพิเศษที่ต้องการการควบคุมเฉพาะ คืนค่าออกมาเป็นตารางที่ทุกคอลัมน์มีประเภทข้อมูลเป็นข้อความ (text type) ควรใช้ร่วมกับ Table.PromoteHeaders เพื่อยกแถวแรกขึ้นเป็นหัวตาราง และ Table.TransformColumnTypes เพื่อแปลงประเภทข้อมูลให้เหมาะสมกับการใช้งาน
File.Contents ใช้อ่านข้อมูล binary ของไฟล์จากพาธที่ระบุ เพื่อนำเข้าข้อมูลจากระบบไฟล์ลงในโปรแกรม
OData.Feed เชื่อมต่อบริการ OData และดึงข้อมูลจาก OData endpoints ซึ่งมักจะเป็น API ที่มีโครงสร้างมาตรฐาน
Web.Contents เป็นฟังก์ชันสำหรับดาวน์โหลดเนื้อหาจากเว็บไซต์หรือแหล่งข้อมูลบนอินเทอร์เน็ตผ่าน URL และคืนค่าเป็นข้อมูลแบบ binary data ที่สามารถนำไปประมวลผลต่อได้
.
รองรับการเชื่อมต่อและเรียกใช้งาน REST API อย่างครบถ้วนพร้อมระบบการยืนยันตัวตนผ่านทางตัวเลือกต่างๆ เช่น การกำหนดค่า Headers สำหรับส่งข้อมูลเพิ่มเติมในคำขอ การใช้ Query parameters สำหรับการกรองข้อมูลและส่งพารามิเตอร์ และการระบุ ApiKeyName เพื่อจัดเก็บคีย์การเข้าถึงอย่างปลอดภัย
.
เหมาะอย่างยิ่งสำหรับการเชื่อมต่อกับบริการเว็บและจุดเชื่อมต่อ API แบบไดนามิก โดยใช้ความสามารถของ RelativePath และตัวเลือก Query เพื่อสร้าง URL แบบยืดหยุ่นและทำให้กระบวนการรีเฟรชข้อมูลทำงานได้อย่างราบรื่นและมีประสิทธิภาพในระบบ Power BI Service
Binary.Decompress ยกเลิกการบีบอัดข้อมูลไบนารี่ที่ถูกบีบอัดด้วย GZip หรือ Deflate กลับเป็นข้อมูลต้นฉบับ
Json.FromValue ใช้สำหรับแปลงค่าใดๆ เป็นข้อความ JSON สามารถแปลง record, list, number, logical, null และข้อความได้
Table.FromRows สร้างตารางจาก List ของ List โดยแต่ละ List ย่อยแทนข้อมูลในแถวหนึ่ง คล้ายกับการ transpose ข้อมูลแบบแถว-คอลัมน์ แต่ทำให้เป็นตารางจริงในทันที
Comments
อีเมลของคุณจะไม่ถูกเผยแพร่