SharePoint.Tables เป็นฟังก์ชันสำหรับดึงข้อมูลทั้งหมดจาก SharePoint List มา Power Query โดยคืนค่าตารางที่มีแถวสำหรับแต่ละรายการใน List พร้อมกับจัดการการเชื่อมต่อและการรับรองตัวตนอัตโนมัติ
| อาร์กิวเมนต์ | ชนิด | ค่าเริ่มต้น | คำอธิบาย |
|---|---|---|---|
| url | Text | URL ของ SharePoint List ที่ต้องการดึงข้อมูล เช่น https://contoso.sharepoint.com/sites/mysite/lists/employees หรือแม้กระทั่ง URL ของ List view | |
| [options]ไม่บังคับ | Record | null | ระเบียนตัวเลือกเพิ่มเติมเพื่อปรับแต่งการดึงข้อมูล ตัวเลือกที่สำคัญ ได้แก่ ApiVersion (14, 15 หรือ “Auto”), Implementation (“2.0” หรือ null), ViewMode (“All” หรือ “Default”), DisableAppendNoteColumns (true/false) |
[ ] = อาร์กิวเมนต์ที่ไม่บังคับ
SharePoint.Tables คือ connector ตรงตัวสำหรับดึงข้อมูล SharePoint List มาเป็นตารางใน Power Query โดยจัดการการเชื่อมต่อและการ authenticate ให้อัตโนมัติ ไม่ต้องเขียน HTTP request เองตั้งแต่ต้นหัว
ที่เจ๋งคือ flexibility มันจริงๆ ถ้า List มีข้อมูลมากมายหรือมี note columns ที่ค่อนข้างหนัก ผมสามารถปรับแต่งได้หมดเลย ไป่ว่าจะ auto-detect API version, เลือกเฉพาะคอลัมน์จาก default view, หรือปิด note columns เพื่อเร่งความเร็ว
ส่วนตัวผม ผมชอบใช้ Implementation 2.0 กับ DisableAppendNoteColumns = true เป็น default เพราะ 99% ของ projects ไม่จำเป็นต้อง load note columns ที่เท่าไรแล้ว ประหยัดเวลา refresh ได้มากเลย 😎
เชื่อมต่อกับ SharePoint List ที่ https://contoso.sharepoint.com/sites/mysite/lists/employees และดึงข้อมูลทั้งหมดเป็นตาราง โดยใช้ค่า default ของ options
ระบุ ApiVersion = "Auto" เพื่อให้ Power Query แสกนและเลือก API version ที่ SharePoint server รองรับ และใช้ Implementation "2.0" เพื่อประสิทธิภาพและเสถียรภาพที่ดีขึ้น
ใช้ ViewMode = "Default" เพื่อดึงเฉพาะคอลัมน์ที่ผู้ใช้กำหนดไว้ในการมองหลัก (default view) แล้ว filter เพื่อดึงเฉพาะรายการที่สถานะเป็น Active ซึ่งช่วยลดขนาดของข้อมูล
ใช้ DisableAppendNoteColumns = true เมื่อ List มี note column (คอลัมน์ข้อหมายเหตุ) แต่ไม่ต้องการรวมข้อมูลจากคอลัมน์เหล่านั้น ซึ่งลดจำนวน HTTP request และเร่งความเร็ว
ง่ายเลย – Tables ดึงข้อมูลจาก List (แถว-คอลัมน์แบบตาราง) ส่วน Contents ดึงไฟล์และโฟลเดอร์จากภายใน SharePoint Site แบบ folder structure
จะช้าได้แน่นอน เพราะ Power Query ดึงทั้งหมด แนะนำสองแบบ: (1) Filter ด้านใน SharePoint List เอง ให้มันส่งมาแค่ที่ต้องการ หรือ (2) ใช้ ViewMode = "Default" และ DisableAppendNoteColumns = true เพื่อลดข้อมูลลง
99% ของเวลา ใช้ "Auto" ได้เลย มันจะแสกนเองว่า SharePoint นั้นเป็น version ไหน แต่ถ้าเจอ weird error หรือ SharePoint เป็นบนเซิฟเวอร์ legacy ลองผ่อน 15 ดู
เมื่อมี note column ในตัว List แต่ไม่ต้องการ data จากคอลัมน์นั้น เลย true มันเลยไปได้นัก เพราะมันทำให้ Power Query ไม่ต้องเรียก endpoint พิเศษอีกอันสำหรับหมายเหตุ ประหยัด request และเร็วขึ้น
2.0 จริงๆ เร็วกว่า และเสถียรมากขึ้น อย่างมี refresh job ที่ทำเป็นประจำ ต่อให้ SharePoint ปรับปรุง ก็ไม่พังเหมือน legacy ที่บางทีเจอ compatibility issue ใช้ 2.0 เลยอย่าลังเล
ฟังก์ชันที่ผู้เขียนโยงไว้กับ SharePoint.Tables จัดกลุ่มตามหมวด · ชี้ที่ชื่อใดชื่อหนึ่ง แล้วฟังก์ชันที่ใช้คู่กันจะมีจุดทอง
SharePoint.Contents ดึงรายการโฟลเดอร์และไฟล์ทั้งหมดจาก SharePoint site เป็น navigation table ที่สามารถ drill down ไปยัง Document Libraries และ Lists ต่างๆ ได้
Web.Contents เป็นฟังก์ชันสำหรับดาวน์โหลดเนื้อหาจากเว็บไซต์หรือแหล่งข้อมูลบนอินเทอร์เน็ตผ่าน URL และคืนค่าเป็นข้อมูลแบบ binary data ที่สามารถนำไปประมวลผลต่อได้
.
รองรับการเชื่อมต่อและเรียกใช้งาน REST API อย่างครบถ้วนพร้อมระบบการยืนยันตัวตนผ่านทางตัวเลือกต่างๆ เช่น การกำหนดค่า Headers สำหรับส่งข้อมูลเพิ่มเติมในคำขอ การใช้ Query parameters สำหรับการกรองข้อมูลและส่งพารามิเตอร์ และการระบุ ApiKeyName เพื่อจัดเก็บคีย์การเข้าถึงอย่างปลอดภัย
.
เหมาะอย่างยิ่งสำหรับการเชื่อมต่อกับบริการเว็บและจุดเชื่อมต่อ API แบบไดนามิก โดยใช้ความสามารถของ RelativePath และตัวเลือก Query เพื่อสร้าง URL แบบยืดหยุ่นและทำให้กระบวนการรีเฟรชข้อมูลทำงานได้อย่างราบรื่นและมีประสิทธิภาพในระบบ Power BI Service
Table.SelectColumns ใช้สำหรับเลือกคอลัมน์เฉพาะจากตารางและสร้างตารางใหม่ที่มีเฉพาะคอลัมน์เหล่านั้น
Table.SelectRows เป็นฟังก์ชันสำหรับกรองตาราง (filter table) ใน Power Query โดยใช้ฟังก์ชันเงื่อนไข (condition function) เพื่อตรวจสอบแต่ละแถว ถ้าเงื่อนไขคืนค่า true จะเก็บแถวนั้นไว้ ถ้าเป็น false จะตัดทิ้ง สามารถใช้ keyword 'each' ร่วมกับการอ้างอิงคอลัมน์ด้วย [ColumnName] เพื่อเขียนเงื่อนไขได้สะดวก รองรับการกรองตามตัวเลข ข้อความ วันที่ การตรวจสอบค่า null และเงื่อนไขที่ซับซ้อนด้วย and/or operators ฟังก์ชันนี้รองรับ Query Folding ซึ่งช่วยเพิ่มประสิทธิภาพเมื่อทำงานกับ data source ขนาดใหญ่
ยังไม่มีบทความที่เกี่ยวข้องกับฟังก์ชันนี้
Comments
อีเมลของคุณจะไม่ถูกเผยแพร่