เรียงลำดับข้อมูลในตารางตามคอลัมน์ที่ระบุ รองรับการเรียงหลายระดับและกำหนดทิศทางการเรียง
| อาร์กิวเมนต์ | ชนิด | คำอธิบาย |
|---|---|---|
| table | Table | ตารางที่ต้องการเรียงลำดับ |
| comparisonCriteria | List | เกณฑ์การเรียงลำดับ อาจเป็น: 1) ชื่อคอลัมน์เดียว (text) = เรียง ascending เป็นค่าเริ่มต้น 2) List ของ text = เรียงหลายคอลัมน์ตามลำดับ 3) List ของ {text, Order} = ระบุทิศทาง Order.Ascending หรือ Order.Descending |
Table.Sort ใช้สำหรับเรียงลำดับแถวในตารางตามเกณฑ์ที่ระบุ เหมือนกับการใช้ Sort ใน Excel แต่ทำงานในระดับ Power Query ได้ตั้งแต่เริ่มต้น ฟังก์ชันนี้รองรับการเรียงแบบ ascending (จากน้อยไปมาก) หรือ descending (จากมากไปน้อย) และสามารถเรียงตามหลายคอลัมน์พร้อมกันได้ ซึ่งมีประโยชน์เมื่อต้องการจัดข้อมูลตามลำดับความสำคัญหรือเตรียมข้อมูลสำหรับการวิเคราะห์เพิ่มเติม
เรียงตาม OrderID จากน้อยไปมากแบบอัตโนมัติ (1, 2, 3) – ส่วนใหญ่เราใช้แบบนี้เวลาต้องเรียงลำดับที่เป็นตัวเลข
เรียงตาม Amount จากมากไปน้อย ด้วย Order.Descending – ใช้เมื่อต้องการเห็นจำนวนที่มากที่สุดก่อน
เรียงแบบ 3 ระดับ: ตาม Region ก่อน (A-Z) แล้วตาม Month ถ้า Region เหมือนกัน สุดท้ายตาม Sales จากมากไปน้อย – เหมาะสำหรับรายงานที่ต้องจัดกลุ่มตามพื้นที่
Power Query เรียงแบบ case-sensitive ตัวใหญ่มาก่อนตัวเล็ก ถ้าต้อง case-insensitive ให้แปลงเป็นตัวเล็กก่อนเรียง หรือใช้ Comparer
ครับ ถ้าเป็นการเรียงแบบเดียวอันเดียวสามารถใช้ {"ColumnName"} หรือ {{"ColumnName", Order.Ascending}} ถ้าเรียงหลายคอลัมน์ต้องเป็น {{"Col1", Order.Asc}, {"Col2", Order.Desc}} – เป็น list ของ list นั่นเอง
Order.Ascending = จากน้อยไปมาก (A-Z หรือ 0-9) / Order.Descending = จากมากไปน้อย (Z-A หรือ 9-0) – ส่วนใหญ่ใช้ Descending เมื่อต้องการเห็นรายการสำคัญก่อน เช่น ยอดขายสูงสุด
ไม่แน่นอน Power Query ไม่รับประกันลำดับแถวเดิม (stable sort) ถ้าสำคัญเก่ามากต้องเพิ่มคอลัมน์ index ก่อน เรียงตามค่าของอันแรก แล้วเรียงตามค่า index เป็นระดับสุดท้าย
ค่า null จะถูกเรียงไปไว้ที่ด้านหน้าเสมอ (ก่อนค่าปกติ) ถ้าต้องจัดการพิเศษต้องใช้ Table.SelectRows เพื่อแยกแถว null ออกก่อน แล้วต่อรวมกลับหลังจากเรียง
ฟังก์ชันที่ผู้เขียนโยงไว้กับ Table.Sort จัดกลุ่มตามหมวด · ชี้ที่ชื่อใดชื่อหนึ่ง แล้วฟังก์ชันที่ใช้คู่กันจะมีจุดทอง
Table.AddIndexColumn ใช้สำหรับเพิ่มคอลัมน์ที่มีลำดับเลขให้กับตาราง ช่วยให้สามารถกำหนดหมายเลขแถวตามลำดับได้
Table.FillDown เติมเต็มค่า null ด้วยค่าจากแถวด้านบน (forward fill) เหมาะสำหรับข้อมูลที่มีการ merge cell หรือจัดกลุ่มข้อมูลแบบ hierarchical ทำให้ได้ตารางที่สมบูรณ์พร้อมใช้ต่อได้เลย
Table.Group จัดกลุ่มข้อมูลตามคอลัมน์ที่กำหนดและสรุปผลในแต่ละกลุ่มด้วย aggregation functions เช่น List.Sum, List.Count, List.Average คล้ายกับ GROUP BY ใน SQL แต่ทรงพลังกว่าเพราะสามารถจัดกลุ่มหลายคอลัมน์พร้อมกันและสร้างคอลัมน์สรุปผลหลายคอลัมน์ในคำสั่งเดียว รองรับ GroupKind.Local เพื่อเพิ่มประสิทธิภาพเมื่อข้อมูลเรียงลำดับแล้ว
Table.Last ใช้ดึงแถวสุดท้ายของตารางออกมาเป็น Record หรือคืนค่าเริ่มต้นถ้าตารางว่างเปล่า
Table.Pivot แปลงข้อมูล long format (แนวตั้ง) เป็น wide format (แนวนอน) โดยหมุนค่า attribute ให้เป็นคอลัมน์ใหม่
จัดเรียงลำดับคอลัมน์ในตารางใหม่ตามลำดับที่ต้องการ พร้อมจัดการกรณีคอลัมน์หายไป
Table.ReverseRows คืนค่าตารางที่มีลำดับแถวตรงข้ามกับตารางต้นฉบับ (Reverse Order)
Table.SelectRows เป็นฟังก์ชันสำหรับกรองตาราง (filter table) ใน Power Query โดยใช้ฟังก์ชันเงื่อนไข (condition function) เพื่อตรวจสอบแต่ละแถว ถ้าเงื่อนไขคืนค่า true จะเก็บแถวนั้นไว้ ถ้าเป็น false จะตัดทิ้ง สามารถใช้ keyword 'each' ร่วมกับการอ้างอิงคอลัมน์ด้วย [ColumnName] เพื่อเขียนเงื่อนไขได้สะดวก รองรับการกรองตามตัวเลข ข้อความ วันที่ การตรวจสอบค่า null และเงื่อนไขที่ซับซ้อนด้วย and/or operators ฟังก์ชันนี้รองรับ Query Folding ซึ่งช่วยเพิ่มประสิทธิภาพเมื่อทำงานกับ data source ขนาดใหญ่
Table.TransformColumns ใช้สำหรับแปลงข้อมูลในคอลัมน์โดยใช้ฟังก์ชันที่กำหนดไว้ แต่ละคอลัมน์สามารถมีการแปลงแตกต่างกันได้ รองรับการเปลี่ยนแปลงประเภทข้อมูลในเวลาเดียวกัน
ระบุประเภทการจัดกลุ่มใน Table.Group ว่าจะใช้ Local (จัดกลุ่มแถวติดต่อกัน) หรือ Global (รวบรวมแถวทั้งหมดที่มี key เดียวกัน) ใช้เพื่อปรับประสิทธิภาพและควบคุมวิธีการจัดกลุ่มข้อมูล
ระบุอัลกอริทึมที่ใช้ในการ Join ข้อมูลจากสองตาราง ช่วยให้คุณควบคุมประสิทธิภาพการทำงานได้ดีขึ้น
ยังไม่มีบทความที่เกี่ยวข้องกับฟังก์ชันนี้
Comments
อีเมลของคุณจะไม่ถูกเผยแพร่