Table.Distinct ลบแถวที่ซ้ำกันออกจากตารางตามคอลัมน์ที่กำหนด หรือทั้งตารางถ้าไม่ระบุคอลัมน์
| อาร์กิวเมนต์ | ชนิด | ค่าเริ่มต้น | คำอธิบาย |
|---|---|---|---|
| table | Table | ตารางที่ต้องการลบแถวซ้ำกัน | |
| [equationCriteria]ไม่บังคับ | Text or List | ทั้งแถว | คอลัมน์ที่ต้องการใช้ในการเช็คการซ้ำกัน (ถ้าไม่ระบุจะเช็คทั้งแถว) |
[ ] = อาร์กิวเมนต์ที่ไม่บังคับ
Table.Distinct ใช้สำหรับลบแถวที่ซ้ำกันออกจากตารางตามเงื่อนไขที่คุณกำหนด ถ้าไม่ระบุคอลัมน์ก็จะหาแถวที่ซ้ำกันทั้งแถวแบบเดียวกันหมด
ที่เจ๋งคือ Table.Distinct ทำให้เราได้แถวที่ไม่ซ้ำกันง่ายๆ ไม่ต้องมานั่งสร้างสูตรซับซ้อน
ส่วนตัวผม มักใช้ Table.Distinct เวลามีข้อมูลจากหลายแหล่งที่มีการซ้ำกันเยอะ เช่น ดึงข้อมูลลูกค้าจากระบบต่างๆ แล้วมันซ้ำกันเพราะลูกค้าปรากฏในหลายระบบ ใช้ Table.Distinct แล้วปัญหาหมดไป 😎
ตั้งแต่ไม่ระบุ equationCriteria ก็จะเช็คแถวทั้งหมด ถ้าข้อมูลทั้ง 3 คอลัมน์เหมือนกันแบบเดียวกันจะถือว่าซ้ำกัน
ระบุให้ดูเฉพาะคอลัมน์ CustomerID ถ้า CustomerID ซ้ำจะลบแถวที่ 3 ออก แม้ว่า City ต่างกันก็ตาม
ใช้ list {"CustomerID", "Amount"} เพื่อเช็คความซ้ำกันตามสองคอลัมน์พร้อมกัน
ดึงข้อมูลอีเมลจากหลายแหล่ง Table.Distinct ลบที่ซ้ำกัน เก็บเฉพาะแถวแรกของแต่ละอีเมล
Table.Distinct ลบแถวที่ซ้ำกัน ส่วน Table.SelectRows กรองแถวตามเงื่อนไข ทั้งสองใช้คนละวัตถุประสงค์
ตัว Power Query จะทำให้เร็วที่สุดตามที่เป็นไปได้ ถ้ากังวลใจให้ใช้ Table.Buffer() ก่อน Table.Distinct เพื่อให้มั่นใจในการทำงาน
ไม่มีการรับประกัน Power Query จะทำการเลือกแบบที่มันเห็นสมควร ถ้าต้องการความแน่นอน (เช่น ต้องเก็บแถวแรก) ให้เรียง Table.Sort() ก่อน
ได้ สร้างคอลัมน์ใหม่ที่มีค่าที่ต้องการก่อน แล้วใช้ Table.Distinct ตามคอลัมน์นั้น
ฟังก์ชันที่ผู้เขียนโยงไว้กับ Table.Distinct จัดกลุ่มตามหมวด · ชี้ที่ชื่อใดชื่อหนึ่ง แล้วฟังก์ชันที่ใช้คู่กันจะมีจุดทอง
Table.AddFuzzyClusterColumn เพิ่มคอลัมน์ใหม่ที่มีค่าตัวแทนสำหรับแต่ละกลุ่ม โดยจับคู่ข้อมูลที่คล้ายกัน แม้จะมีข้อความที่ต่างกัน เช่น การสะกด ตัวอักษรพิมพ์ใหญ่-เล็ก หรือช่องว่าง
Table.Group จัดกลุ่มข้อมูลตามคอลัมน์ที่กำหนดและสรุปผลในแต่ละกลุ่มด้วย aggregation functions เช่น List.Sum, List.Count, List.Average คล้ายกับ GROUP BY ใน SQL แต่ทรงพลังกว่าเพราะสามารถจัดกลุ่มหลายคอลัมน์พร้อมกันและสร้างคอลัมน์สรุปผลหลายคอลัมน์ในคำสั่งเดียว รองรับ GroupKind.Local เพื่อเพิ่มประสิทธิภาพเมื่อข้อมูลเรียงลำดับแล้ว
Table.SelectRows เป็นฟังก์ชันสำหรับกรองตาราง (filter table) ใน Power Query โดยใช้ฟังก์ชันเงื่อนไข (condition function) เพื่อตรวจสอบแต่ละแถว ถ้าเงื่อนไขคืนค่า true จะเก็บแถวนั้นไว้ ถ้าเป็น false จะตัดทิ้ง สามารถใช้ keyword 'each' ร่วมกับการอ้างอิงคอลัมน์ด้วย [ColumnName] เพื่อเขียนเงื่อนไขได้สะดวก รองรับการกรองตามตัวเลข ข้อความ วันที่ การตรวจสอบค่า null และเงื่อนไขที่ซับซ้อนด้วย and/or operators ฟังก์ชันนี้รองรับ Query Folding ซึ่งช่วยเพิ่มประสิทธิภาพเมื่อทำงานกับ data source ขนาดใหญ่
ระบุประเภทการจัดกลุ่มใน Table.Group ว่าจะใช้ Local (จัดกลุ่มแถวติดต่อกัน) หรือ Global (รวบรวมแถวทั้งหมดที่มี key เดียวกัน) ใช้เพื่อปรับประสิทธิภาพและควบคุมวิธีการจัดกลุ่มข้อมูล
List.Distinct จะคืน List ใหม่ที่ไม่มีค่าซ้ำกัน โดยเก็บสมาชิกตัวแรกที่พบไว้ และทิ้งตัวที่ซ้ำกันทิ้งไป สามารถกำหนด Comparer เพื่อใช้ Logic การเปรียบเทียบที่แตกต่างกันได้ เช่น ไม่สนใจตัวพิมพ์เล็ก/ใหญ่
Comments
อีเมลของคุณจะไม่ถูกเผยแพร่