Table.ColumnNames ดึงชื่อคอลัมน์ทั้งหมดจากตาราง และส่งกลับมาเป็นลิสต์ข้อความ ซึ่งจำเป็นสำหรับการตรวจสอบ schema แบบ dynamic
| อาร์กิวเมนต์ | ชนิด | คำอธิบาย |
|---|---|---|
| table | table | ตารางที่ต้องการดึงชื่อคอลัมน์ |
Table.ColumnNames ใช้สำหรับดึงชื่อคอลัมน์จากตาราง Power Query ออกมาเป็นลิสต์ข้อความ
มี 1 parameter ที่ต้องส่ง:
– table: ตารางที่ต้องการดึงชื่อคอลัมน์
ส่งกลับค่า: ลิสต์ของข้อความ (text list) ที่มีชื่อคอลัมน์ทั้งหมดในลำดับจากซ้ายไปขวา
ที่เจ๋งคือ ฟังก์ชันนี้ช่วยให้เราสามารถเข้าถึงชื่อคอลัมน์แบบ dynamic ได้ ไม่จำเป็นต้องพิมพ์ชื่อคอลัมน์เอง เพราะวาไม่รู้ว่า schema จะเป็นแบบไหน
ส่วนตัวผม มักใช้ Table.ColumnNames เมื่อต้องการตรวจสอบว่าคอลัมน์ที่ต้องการมีอยู่หรือไม่ หรือเมื่อต้องสร้าง transformation ที่ทำงานกับตาราง schema ต่างๆ โดยไม่รู้ชื่อคอลัมน์ล่วงหน้า มันช่วยให้โปรแกรม flexible และ reusable ได้มากจริงๆ 😎
ใช้เพื่อดูว่าชื่อคอลัมน์ในตารางถูกต้องตามที่คาดไว้หรือไม่ หรือมีคอลัมน์ที่ไม่รู้จักปะปนมา
ใช้เป็น Input สำหรับฟังก์ชันที่ต้องการ List ของชื่อคอลัมน์ เช่น Table.SelectColumns
ดึงชื่อคอลัมน์ทั้งหมดจาก SalesTable และส่งกลับเป็นลิสต์ข้อความ 3 รายการตามลำดับจากซ้ายไปขวา
นับจำนวนคอลัมน์โดยใช้ Table.ColumnNames ร่วมกับ List.Count เพื่อทำความเข้าใจขนาด schema
ตรวจสอบว่าคอลัมน์ "Amount" มีอยู่ในตารางหรือไม่ โดยใช้ List.Contains ซึ่งมีประโยชน์สำหรับ error handling
กรองชื่อคอลัมน์ที่ขึ้นต้นด้วยตัวอักษร "E" เพื่อใช้สำหรับการเลือกคอลัมน์แบบ dynamic
ได้ครับ มันจะคืนค่าลิสต์ของชื่อคอลัมน์เหมือนเดิม แม้ว่าตารางจะไม่มีแถวข้อมูล เพราะชื่อคอลัมน์ยังคงเป็นส่วนหนึ่งของ schema และไม่ขึ้นกับจำนวนแถว
ได้ใช้ #table() เพื่อสร้างตารางจากลิสต์ชื่อคอลัมน์ หรือใช้ List.Buffer() สำหรับการจัดการลิสต์ของคอลัมน์ที่มีขนาดใหญ่
เป็นลำดับที่ปรากฏในตารางจากซ้ายไปขวา ตามลำดับที่กำหนดไว้ในตาราง หากคุณใช้ Table.ReorderColumns() มาก่อน ลำดับก็จะเปลี่ยนไปด้วย
Table.ColumnNames() ดึงชื่อคอลัมน์ทั้งหมด ส่วน Table.ColumnsOfType() ดึงเฉพาะชื่อคอลัมน์ที่มีชนิดข้อมูลเฉพาะเท่านั้น เช่น type number หรือ type text
ฟังก์ชันที่ผู้เขียนโยงไว้กับ Table.ColumnNames จัดกลุ่มตามหมวด · ชี้ที่ชื่อใดชื่อหนึ่ง แล้วฟังก์ชันที่ใช้คู่กันจะมีจุดทอง
Table.Column ดึงค่าจากคอลัมน์เฉพาะออกมาจากตาราง และคืนค่าเป็น List เพื่อให้สามารถนำไปประมวลผลต่อได้
Table.PromoteHeaders เลื่อนข้อมูลในแถวแรกของตารางขึ้นมาเป็นชื่อคอลัมน์ และลบแถวนั้นออกจากส่วนข้อมูล รองรับพารามิเตอร์เสริม options เป็น record ที่มีฟิลด์ PromoteAllScalars สำหรับอนุญาตให้ค่าที่ไม่ใช่ข้อความ เช่น ตัวเลขและวันที่ ถูกแปลงเป็นชื่อคอลัมน์ได้ และ Culture สำหรับกำหนดรูปแบบการแปลงค่าตามภูมิภาค
.
ที่เจ๋งคือ PromoteAllScalars=true ช่วยให้หัวตารางที่เป็นตัวเลขหรือวันที่ก็ใช้ได้ ไม่ติดว่าต้องเป็นข้อความอย่างเดียว
Table.RenameColumns ใช้สำหรับเปลี่ยนชื่อคอลัมน์หนึ่งหรือหลายคอลัมน์ในตารางพร้อมกัน โดยส่งผ่าน list ของ rename pairs {ชื่อเก่า, ชื่อใหม่}
จัดเรียงลำดับคอลัมน์ในตารางใหม่ตามลำดับที่ต้องการ พร้อมจัดการกรณีคอลัมน์หายไป
Table.TransformColumnNames ใช้ฟังก์ชันแปลงชื่อ (Name Generator) เพื่อเปลี่ยนชื่อคอลัมน์ทั้งหมดในตาราง เหมาะสำหรับจัดรูปแบบชื่อคอลัมน์เป็นแบบเดียวกัน เช่น ตัวพิมพ์ใหญ่ ลบช่องว่าง หรือเพิ่ม Prefix
Table.Unpivot แปลงคอลัมน์ที่ระบุให้กลายเป็นแถว (Unpivot) โดยสร้าง 2 คอลัมน์ใหม่ คอลัมน์แรกเก็บชื่อคอลัมน์เดิม (Attribute) และคอลัมน์ที่สองเก็บค่า (Value) ฟังก์ชันนี้จะข้ามค่า null โดยอัตโนมัติ เหมาะสำหรับเตรียมข้อมูลแบบ Wide Format ให้กลายเป็น Long Format สำหรับใช้ใน Power BI หรือ Pivot Table
List.Contains จะคืนค่า true หาก value ที่กำหนดเป็นสมาชิกของ List และคืนค่า false หากไม่พบ สามารถระบุ Comparer เพื่อกำหนดว่าจะให้ตรวจสอบแบบ Case Sensitive หรือ Case Insensitive ได้
ฟังก์ชันสำหรับดึงรายชื่อ Field ทั้งหมดจาก Record และคืนค่าเป็น List ของ Text
Comments
อีเมลของคุณจะไม่ถูกเผยแพร่