List.Max หาค่าที่มากที่สุดในรายการได้อย่างรวดเร็ว รองรับค่าเริ่มต้นสำหรับรายการว่าง และสามารถจัดการค่า null ตามที่ต้องการ ฟังก์ชันนี้ใช้บ่อยสำหรับหาค่าสูงสุด คะแนนสูงสุด หรือวันที่ล่าสุด
=List.Max(list as list, optional default as any, optional comparisonCriteria as any, optional includeNulls as nullable logical) as any
=List.Max(list as list, optional default as any, optional comparisonCriteria as any, optional includeNulls as nullable logical) as any
| Argument | Type | Required | Default | Description |
|---|---|---|---|---|
| list | List | Yes | รายการที่ต้องการหาค่าสูงสุด สามารถประกอบด้วยตัวเลข ข้อความ วันที่ เวลา หรือประเภทข้อมูลอื่นที่สามารถเปรียบเทียบได้ | |
| default | Any | Optional | null | ค่าที่จะคืนหากรายการว่างเปล่า (ไม่มีข้อมูล) ถ้าไม่ระบุและรายการว่าง จะได้ข้อผิดพลาด |
| comparisonCriteria | Function | Optional | null | ฟังก์ชันที่ใช้แปลงหรือเลือกค่าก่อนการเปรียบเทียบ เช่น each Text.Upper(_) เพื่อเปรียบเทียบแบบไม่สนใจตัวพิมพ์ใหญ่-เล็ก |
| includeNulls | Logical | Optional | true | ระบุว่าควรรวมค่า null ในการหาค่าสูงสุด ค่าเริ่มต้นเป็น true (รวม null) ถ้าตั้ง false จะข้ามค่า null ไป |
หาจำนวนเงินขายที่สูงสุดจากรายการตัวเลขทั้งหมด
ใช้กับข้อมูลข้อความ เช่น หาคำว่า 'zebra' จากรายการคำศัพท์ (ตามลำดับตัวอักษร)
List.Max({1, 4, 7, 3, -2, 5})= List.Max({1, 4, 7, 3, -2, 5})
7
List.Max({}, -1)= List.Max({}, -1)
-1
List.Max({"boy", "dog", "girl", "zebra", "cat", "mouse", "rabbit"})= List.Max({"boy", "dog", "girl", "zebra", "cat", "mouse", "rabbit"})
"zebra"
List.Max({#date(2024, 2, 12), #date(2025, 5, 15), #date(2021, 10, 10), #date(2025, 1, 16)})= List.Max({#date(2024, 2, 12), #date(2025, 5, 15), #date(2021, 10, 10), #date(2025, 1, 16)})
#date(2025, 5, 15)
List.Max({"100", "20", "5", "50"}, 0, each Value.FromText(_))= List.Max({"100", "20", "5", "50"}, 0, each Value.FromText(_))
"100"
List.Max หาค่าสูงสุด (มากที่สุด) ส่วน List.Min หาค่าต่ำสุด (น้อยที่สุด) ทั้งสองมีพารามิเตอร์และการใช้งานเหมือนกัน แต่ผลลัพธ์เป็นตรงกันข้าม
โดยค่าเริ่มต้น includeNulls = true ดังนั้น null จะถูกรวมในการพิจารณา หากต้องการข้ามค่า null ให้ตั้ง includeNulls = false
ไม่ได้ List.Max ต้องการข้อมูลที่สามารถเปรียบเทียบได้ อย่างไรก็ตาม สามารถใช้ comparisonCriteria เพื่อแปลงข้อมูลให้ประเภทเดียวกัน แล้วเปรียบเทียบได้
ต้องแปลงคอลัมน์ในตารางเป็นรายการก่อน ใช้ Table.Column(table, “columnName”) เพื่อเอาข้อมูลออกมาเป็นรายการ แล้วใช้ List.Max
List.Max เป็นฟังก์ชันที่ใช้หาค่าที่มากที่สุดในรายการ โดยสามารถปรับแต่งวิธีการเปรียบเทียบและจัดการค่า null ได้
ที่เจ๋งคือ List.Max มีความยืดหยุ่นสูง – สามารถทำงานกับตัวเลข ข้อความ วันที่ และแม้แต่ประเภทข้อมูลอื่นๆ ได้ นอกจากนี้ยังสามารถใช้ comparisonCriteria เพื่อแปลงค่าก่อนการเปรียบเทียบ เช่น เมื่อต้องเปรียบเทียบข้อความแต่ไม่สนใจตัวพิมพ์ใหญ่-เล็ก
ส่วนตัวผม มักใช้ List.Max เมื่อต้องหาวันที่ล่าสุด คะแนนสูงสุด หรือค่าใหญ่ที่สุดในการวิเคราะห์ข้อมูล การผสมกับ Table.Group ทำให้หาค่าสูงสุดในแต่ละกลุ่มได้ง่ายขึ้นเยอะ 😎