List.Average คำนวณค่าเฉลี่ยของตัวเลข วันที่ เวลา หรือระยะเวลาในรายการ ฟังก์ชันนี้เป็นตัวช่วยแรกที่ผมใช้ทุกครั้งที่ต้องการวิเคราะห์ค่าเฉลี่ยจากชุดข้อมูลใดๆ
=List.Average(list as list, optional precision as nullable number) as any
=List.Average(list as list, optional precision as nullable number) as any
| Argument | Type | Required | Default | Description |
|---|---|---|---|---|
| list | list | Yes | รายการของตัวเลข วันที่ เวลา หรือระยะเวลาที่ต้องการคำนวณค่าเฉลี่ย | |
| precision | nullable number | Optional | null | พารามิเตอร์ที่ระบุความแม่นยำในการคำนวณ ใช้เมื่อต้องการควบคุมจำนวนทศนิยม |
ใช้กับ Table.TransformColumns เพื่อคำนวณค่าเฉลี่ยของคอลัมน์ตัวเลข
หาวันที่กลางของชุดวันที่ โดยการคำนวณค่าเฉลี่ยของวันที่ต่างๆ
List.Average({3, 4, 6})= List.Average({3, 4, 6})
4.333333333333333
List.Average({#date(2011, 1, 1), #date(2011, 1, 2), #date(2011, 1, 3)})= List.Average({#date(2011, 1, 1), #date(2011, 1, 2), #date(2011, 1, 3)})
#date(2011, 1, 2)
let Sales = #table({"Product", "Amount"}, {{"A", 100}, {"B", 200}, {"C", 300}}), AmountColumn = Table.Column(Sales, "Amount") in List.Average(AmountColumn)let
Sales = #table({"Product", "Amount"}, {{"A", 100}, {"B", 200}, {"C", 300}}),
AmountColumn = Table.Column(Sales, "Amount")
in
List.Average(AmountColumn)
200
let EmptyList = {}, Result = try List.Average(EmptyList) otherwise 0 in Resultlet
EmptyList = {},
Result = try List.Average(EmptyList) otherwise 0
in
Result
ฟังก์ชันจะคืนค่า null หากรายการว่างเปล่า ใช้ try…otherwise หรือ List.IsEmpty เพื่อตรวจสอบก่อนใช้ฟังก์ชัน
ได้ รองรับ date time datetime datetimezone และ duration นอกเหนือจาก number
List.Average ทำงานกับรายการ (list) โดยคำนวณค่าเฉลี่ยของทั้งหมด ส่วน Table.SelectRows เป็นการกรองแถวของตาราง ทั้งสองมีจุดประสงค์ต่างกัน
List.Average ใช้คำนวณค่าเฉลี่ย (average) ของตัวเลขหรือค่าข้อมูลในรายการ โดยรองรับ number date time datetime datetimezone และ duration
ที่เจ๋งคือมันไม่เพียงแค่ทำงานกับตัวเลขเท่านั้น มันสามารถคำนวณค่าเฉลี่ยของวันที่หรือช่วงเวลาได้ด้วย ซึ่งมีประโยชน์มากเวลาต้องหาวันกลางหรือช่วงเวลาเฉลี่ยของโครงการ
ส่วนตัวผมมักใช้ List.Average คู่กับ Table.Column เพื่อดึงคอลัมน์หนึ่งออกมาแล้วคำนวณค่าเฉลี่ย ทำให้ไม่ต้องสร้างตัวแปรกลาง ง่ายและสะอาดเลย 😎