List.Median คืนค่ามัธยฐานของ List หากมีจำนวนคู่จะหาค่าเฉลี่ยของคู่กลาง (สำหรับตัวเลข/เวลา) หรือคืนค่าตัวที่น้อยกว่า
=List.Median(list as list, optional comparisonCriteria as any) as any
=List.Median(list as list, optional comparisonCriteria as any) as any
| Argument | Type | Required | Default | Description |
|---|---|---|---|---|
| list | list | Yes | List ที่ต้องการหาค่ามัธยฐาน | |
| comparisonCriteria | any | Optional | null | เกณฑ์การเปรียบเทียบ (เช่น Comparer.OrdinalIgnoreCase) |
ใช้หาค่ากลางที่ไม่ถูกกระทบโดยค่าสุดโต่ง (Outlier) เหมือนค่าเฉลี่ย (Mean)
ใช้หาข้อมูลที่อยู่ตรงกลางของชุดข้อมูลที่เรียงลำดับแล้ว
List.Median({5, 3, 1, 7, 9})=List.Median({5, 3, 1, 7, 9})
5
List.Median({1, 2, 3, 4})=List.Median({1, 2, 3, 4})
2.5
List.Median({"A", "B", "C", "D"})=List.Median({"A", "B", "C", "D"})
"B"
List.Median({#time(8, 0, 0), #time(9, 30, 0), #time(17, 0, 0), #time(18, 30, 0)})=List.Median({#time(8, 0, 0), #time(9, 30, 0), #time(17, 0, 0), #time(18, 30, 0)})
#time(13, 15, 0)
ผม บอกให้ชัดๆ นะ Average คือผลรวมหารจำนวน แต่ Median คือค่าที่อยู่ตรงกลางเมื่อเรียงข้อมูล ถ้าข้อมูลมี outliers แบบสูงหรือต่ำผิดปกติ Median จะสมเหตุสมผลกว่า
ส่วนตัวผม พบว่าถ้าเป็นตัวเลข/เวลา/ระยะเวลา ฟังก์ชันจะคืนค่าเฉลี่ยของสองตัวกลาง แต่ถ้าเป็นข้อความหรือข้อมูลอื่น จะเลือกตัวที่น้อยกว่า
ผม ได้ลองแล้ว ฟังก์ชันจะคืนค่า null และเพิ่มเติม ฟังก์ชันจะละเว้น null value ไป
List.Median หาค่ามัธยฐาน (Median) ของ List – ค่าที่อยู่ตรงกลางเมื่อเรียงลำดับข้อมูล หากจำนวนสมาชิกคี่ส่วน List.Average ที่หาค่าเฉลี่ย (ผลรวมหารจำนวน) ส่วน Median คือค่าที่อยู่ตรงกลางเมื่อเรียงข้อมูล แต่ถ้าเป็นเลขคู่และข้อมูลเป็นตัวเลข/เวลา ฟังก์ชันจะคืนค่าเฉลี่ยของสองตัวกลาง ข้อมูลชนิดอื่นจะเลือกตัวที่น้อยกว่า
ที่เจ๋งคือ List.Median ไม่ได้ขึ้นกับค่านอกเกณฑ์ (outliers) เหมือน Average ทำให้เอาไว้ใช้วิเคราะห์ข้อมูลที่มีค่ากลางสูงหรือต่ำเกิน
ส่วนตัวผม มักใช้ List.Median เมื่อต้องการวิเคราะห์ราคา รายได้ หรือข้อมูลที่มี outliers เพราะมันแสดงค่าที่เป็นตัวแทนของข้อมูลได้ดีกว่า Average 😎