MySQL.Database เป็นฟังก์ชันตัวเชื่อมต่อ (connector) ที่ใช้ส่งข้อมูลจากฐานข้อมูล MySQL ไปยัง Power Query ช่วยให้คุณสามารถโหลดตารางและมุมมองจากเซิร์ฟเวอร์ MySQL ได้
| อาร์กิวเมนต์ | ชนิด | ค่าเริ่มต้น | คำอธิบาย |
|---|---|---|---|
| server | Text | ที่อยู่ของเซิร์ฟเวอร์ MySQL เช่น ‘localhost’ หรือ ‘myserver.com’ สามารถระบุพอร์ตได้โดยเพิ่ม ‘:3306’ ไว้ท้าย | |
| database | Text | ชื่อของฐานข้อมูล MySQL ที่ต้องการเชื่อมต่อ | |
| [options]ไม่บังคับ | Record (nullable) | null | ระเบียนตัวเลือกที่มีการตั้งค่าเพิ่มเติม เช่น Encoding CommandTimeout Query ReturnSingleDatabase ฯลฯ |
[ ] = อาร์กิวเมนต์ที่ไม่บังคับ
MySQL.Database เป็นตัวเชื่อมต่อที่อนุญาตให้คุณเชื่อมต่อกับเซิร์ฟเวอร์ MySQL และ โหลดข้อมูลจากฐานข้อมูลตัวเลือก ฟังก์ชันนี้จะคืนค่าตารางที่มีรายการของตารางทั้งหมด มุมมอง (views) และฟังก์ชันสเกลาร์ที่เก็บไว้ในฐานข้อมูล
ประเด็นสำคัญคือ MySQL.Database ให้ความยืดหยุ่นสูงในการประมวลผลข้อมูลผ่านตัวเลือกต่างๆ อย่างเช่น การกำหนด Encoding การตั้ง CommandTimeout หรือแม้กระทั่งการเขียน SQL query แบบ native เพื่อดึงข้อมูลที่เจาะจงมากขึ้น
ส่วนตัวผมชอบการใช้ ReturnSingleDatabase = true เพราะมันช่วยให้ฉันดึงข้อมูลจากฐานข้อมูลที่ระบุเท่านั้น ทำให้รายการในนำทางไม่ยุ่งเหยิง และ HierarchicalNavigation = true นั้นเหมาะเวลาที่เรามีจำนวนตารางมากมาย เพราะมันจะจัดกลุ่มตารางตามชื่อ schema ได้ 😎
เชื่อมต่อกับเซิร์ฟเวอร์ localhost และดึงรายการตารางจากฐานข้อมูล myDatabase
เมื่อฐานข้อมูล MySQL ทำงานบนพอร์ต 3307 (ไม่ใช่ค่าเริ่มต้น 3306) สามารถระบุในอยู่เซิร์ฟเวอร์ได้
การใช้ Query option ช่วยให้คุณสามารถเขียน SQL แบบเหมาะสม เพื่อดึงข้อมูลที่เจาะจงมากขึ้น แล้วไม่ต้องกรองข้อมูลภายใน Power Query
เมื่อตั้ง ReturnSingleDatabase = true Power Query จะคืนเฉพาะตารางจากฐานข้อมูลที่ระบุเท่านั้น ทำให้รายการนำทางไม่ยุ่งเหยิง
เมื่อตั้ง HierarchicalNavigation = true ตารางจะถูกจัดกลุ่มตามชื่อ schema ทำให้ง่ายต่อการนำทางเมื่อมีจำนวนตารางมากมาย
สำหรับฐานข้อมูลขนาดใหญ่หรือสอบถาม heavy query สามารถเพิ่มเวลา CommandTimeout โดยใช้ #duration(days, hours, minutes, seconds)
MySQL.Database คืนค่าตารางที่มีรายการของตารางทั้งหมด มุมมอง (views) และฟังก์ชันสเกลาร์ที่เก็บไว้ในฐานข้อมูล MySQL ที่ระบุ
ต้องมี MySQL Connector หรือ driver ที่เหมาะสมติดตั้งบนเครื่องของคุณ และต้องระบุที่อยู่เซิร์ฟเวอร์ MySQL และชื่อฐานข้อมูลให้ถูกต้อง นอกจากนี้อาจต้องตั้งชื่อผู้ใช้และรหัสผ่านหากเซิร์ฟเวอร์ต้องการการยืนยันตัวตน
ได้ สามารถใช้ Query option ในการระบุคำสั่ง SQL แบบ native ได้ อย่างไรก็ตาม Query option จะคืนเฉพาะชุดผลลัพธ์แรกเท่านั้น
โดยค่าเริ่มต้น ฟังก์ชัน TreatTinyAsBoolean ถูกตั้งเป็น true ซึ่งหมายความว่าคอลัมน์ tinyint จะถูกมองว่าเป็นค่าลอจิกัล (true/false) แต่ถ้าตั้งเป็น false มันจะเป็นค่าตัวเลขแทน
พอร์ต MySQL ค่าเริ่มต้นคือ 3306 หากฐานข้อมูล MySQL ของคุณทำงานบนพอร์ตอื่น สามารถระบุในพารามิเตอร์ server เช่น 'localhost:3307'
ฟังก์ชันที่ผู้เขียนโยงไว้กับ MySQL.Database จัดกลุ่มตามหมวด · ชี้ที่ชื่อใดชื่อหนึ่ง แล้วฟังก์ชันที่ใช้คู่กันจะมีจุดทอง
OData.Feed เชื่อมต่อบริการ OData และดึงข้อมูลจาก OData endpoints ซึ่งมักจะเป็น API ที่มีโครงสร้างมาตรฐาน
Odbc.Query ใช้สำหรับดำเนินการคำสั่ง SQL โดยตรงต่อฐานข้อมูล ODBC ใดๆ เช่น SQL Server, MySQL, PostgreSQL, Oracle และส่งคืนผลลัพธ์เป็นตาราง
OleDb.DataSource ใช้สำหรับเชื่อมต่อกับฐานข้อมูล OLE DB (SQL Server, Access, MySQL ผ่าน ODBC เป็นต้น) และนำเข้าตารางหรือแสดงผลจากคำสั่ง SQL
Sql.Database เป็นฟังก์ชันที่ใช้เชื่อมต่อกับฐานข้อมูล SQL Server แล้วดึงข้อมูลเข้ามาประมวลผลใน Power Query ได้เลยครับ
.
ฟังก์ชันนี้จะคืนค่าออกมาเป็น table ที่แสดงรายการของ tables, views และ stored functions ทั้งหมดที่มีในฐานข้อมูลที่เราระบุ ที่เจ๋งคือฟังก์ชันนี้รองรับการทำ query folding ซึ่งทำให้การประมวลผลข้อมูลเกิดขึ้นที่ SQL Server โดยตรง ได้ประสิทธิภาพสูงสุดและลดการใช้ memory ลงมาก
.
นอกจากนี้ยังมี options หลากหลายให้เราปรับแต่งการเชื่อมต่อได้ เช่น การกำหนด CommandTimeout สำหรับ query ที่ใช้เวลานาน การเขียน native SQL query เพื่อดึงข้อมูลแบบกำหนดเองเลย การทำ cross-database folding เพื่อทำงานข้ามหลายฐานข้อมูล และรองรับ authentication หลายรูปแบบด้วย ส่วนตัวผมใช้บ่อยมากเวลาทำงานกับข้อมูลขนาดใหญ่จาก SQL Server ครับ 😎
Web.Contents เป็นฟังก์ชันสำหรับดาวน์โหลดเนื้อหาจากเว็บไซต์หรือแหล่งข้อมูลบนอินเทอร์เน็ตผ่าน URL และคืนค่าเป็นข้อมูลแบบ binary data ที่สามารถนำไปประมวลผลต่อได้
.
รองรับการเชื่อมต่อและเรียกใช้งาน REST API อย่างครบถ้วนพร้อมระบบการยืนยันตัวตนผ่านทางตัวเลือกต่างๆ เช่น การกำหนดค่า Headers สำหรับส่งข้อมูลเพิ่มเติมในคำขอ การใช้ Query parameters สำหรับการกรองข้อมูลและส่งพารามิเตอร์ และการระบุ ApiKeyName เพื่อจัดเก็บคีย์การเข้าถึงอย่างปลอดภัย
.
เหมาะอย่างยิ่งสำหรับการเชื่อมต่อกับบริการเว็บและจุดเชื่อมต่อ API แบบไดนามิก โดยใช้ความสามารถของ RelativePath และตัวเลือก Query เพื่อสร้าง URL แบบยืดหยุ่นและทำให้กระบวนการรีเฟรชข้อมูลทำงานได้อย่างราบรื่นและมีประสิทธิภาพในระบบ Power BI Service
ยังไม่มีบทความที่เกี่ยวข้องกับฟังก์ชันนี้
Comments
อีเมลของคุณจะไม่ถูกเผยแพร่