List.MinN คืนค่าต่ำสุด N ตัวแรก หรือค่าที่ผ่านเงื่อนไขจาก List โดยเรียงลำดับจากน้อยไปมาก
=List.MinN(list as list, countOrCondition as any, optional comparisonCriteria as any, optional includeNulls as nullable logical) as list
=List.MinN(list as list, countOrCondition as any, optional comparisonCriteria as any, optional includeNulls as nullable logical) as list
| Argument | Type | Required | Default | Description |
|---|---|---|---|---|
| list | list | Yes | List ที่ต้องการหาค่าต่ำสุด | |
| countOrCondition | any | Yes | ระบุจำนวนรายการ (Number) ที่ต้องการ หรือเงื่อนไข (Function) เพื่อกรองค่า หรือ null เพื่อหาค่าน้อยที่สุด 1 ตัว | |
| comparisonCriteria | any | Optional | null | ฟังก์ชันสำหรับการเปรียบเทียบค่า หรือแปลงค่าก่อนเปรียบเทียบ เช่น each Text.Length(_) สำหรับเปรียบเทียบความยาวข้อความ |
| includeNulls | nullable logical | Optional | true | กำหนดว่าจะรวมค่า null ในการพิจารณาหรือไม่ (ค่าเริ่มต้นคือ true) |
เช่น หา 5 จังหวัดที่มีอุณหภูมิต่ำที่สุด หรือหาสินค้าที่มีสต็อกเหลือน้อยที่สุด 3 รายการ
เลือกเฉพาะรายการที่มีค่าน้อยกว่าเกณฑ์ที่กำหนด และให้เรียงลำดับผลลัพธ์ด้วย
List.MinN({3, 4, 5, -1, 7, 8, 2}, 5)=List.MinN({3, 4, 5, -1, 7, 8, 2}, 5)
{-1, 2, 3, 4, 5}
List.MinN({3, 4, 5, -1, 7, 8, 2}, each _ < 5)=List.MinN({3, 4, 5, -1, 7, 8, 2}, each _ < 5)
{-1, 2, 3, 4}
List.MinN({"apple", "ban", "kiwi", "pear"}, 3, each Text.Length(_))=List.MinN({"apple", "ban", "kiwi", "pear"}, 3, each Text.Length(_))
{"ban", "kiwi", "pear"}
List.MinN({78, 92, 85, 76, 88, 91, 72}, 3)=List.MinN({78, 92, 85, 76, 88, 91, 72}, 3)
{72, 76, 78}
ผมอธิบายให้เข้าใจง่าย List.Min คืนค่า ‘ค่าเดียว’ ที่เป็นค่าต่ำสุด แต่ List.MinN คืนค่าเป็น ‘List’ ของค่าต่ำสุด N อันดับแรก ถ้าต้องการหลาย ๆ ค่า ให้ใช้ MinN นะ
ใช่ ผลลัพธ์จาก List.MinN จะถูกเรียงลำดับจากน้อยไปมากอัตโนมัติ ไม่ต้องเรียงเพิ่มเติมอีก
ผมใช้ได้กับตัวเลข วันที่ เวลา หรือข้อความ ขึ้นอยู่กับ comparisonCriteria ที่ระบุ ถ้าไม่ระบุ ใช้ค่าเริ่มต้นของประเภทข้อมูลนั้นตามความสามารถของระบบ
ฟังก์ชัน List.MinN ใช้สำหรับดึงค่าต่ำสุด N ตัวแรกจาก List โดยเรียงลำดับจากน้อยไปมากโดยอัตโนมัติ รองรับการกรองเงื่อนไขหรือใช้ฟังก์ชันเปรียบเทียบค่าแบบกำหนดเองได้
ที่เจ๋งคือ List.MinN ยืดหยุ่นมาก สามารถใช้เป็นตัวเลขเพื่อหา N ตัวเล็กสุด หรือใช้เงื่อนไข (each _ < 5) เพื่อกรองตามการทำงาน ผลลัพธ์เรียงลำดับอัตโนมัติ ไม่ต้องค่อยเรียงเพิ่มเติม
ส่วนตัวผม ผมใช้มันบ่อยเวลาหา Top N ลบ (ค่าต่ำสุด) จากข้อมูลขนาดใหญ่ เช่นหาความสูญเสียมากสุด 10 อันดับแรก หรือหาคะแนนต่ำสุด 5 นักเรียน แบบนี้ List.MinN ช่วยได้เยอะ 😎