List.First ใช้เพื่อดึงค่าสมาชิกตัวแรกจาก List หากเอา List ว่างเปล่า ให้ใช้ค่า Default ปกป้อง
= List.First(list as list, optional defaultValue as any) as any
= List.First(list as list, optional defaultValue as any) as any
| Argument | Type | Required | Default | Description |
|---|---|---|---|---|
| list | list | Yes | List ที่ต้องการดึงสมาชิกตัวแรก | |
| defaultValue | any | Optional | null | ค่าที่จะคืนกลับมาหาก List ว่างเปล่า (ค่าเริ่มต้นคือ null) |
หาก List เรียงลำดับจากใหม่ไปเก่า สามารถใช้ List.First เพื่อดึงข้อมูลล่าสุดออกมา
ใช้ดึงค่าจาก List ที่อาจจะว่างเปล่าได้ โดยกำหนดค่า Default เพื่อป้องกันการเกิด Error หรือค่า null ที่ไม่ต้องการ
List.First({1, 2, 3})= List.First({1, 2, 3})
1
List.First({})= List.First({})
null
List.First({}, "ไม่มีข้อมูล")= List.First({}, "ไม่มีข้อมูล")
"ไม่มีข้อมูล"
let Source = {10, 20, 30, 40, 50}, Filtered = List.Select(Source, each _ > 25), FirstValue = List.First(Filtered, -1) in FirstValuelet
Source = {10, 20, 30, 40, 50},
Filtered = List.Select(Source, each _ > 25),
FirstValue = List.First(Filtered, -1)
in
FirstValue
30
List.First คืนค่าสมาชิก ‘ตัวเดียว’ (single value) ในขณะที่ List.FirstN คืนค่าเป็น ‘List’ ของสมาชิก N ตัวแรก เช่น List.FirstN({1,2,3}, 1) คืนค่า {1} ไม่ใช่ 1
ฟังก์ชันคืนค่า null นั้นออกมา ไม่ใช่ defaultValue (defaultValue ใช้เฉพาะกรณี List ว่างเท่านั้น)
ไม่ได้โดยตรง ต้องแปลง Table เป็น List ก่อน โดยใช้ Table.ToList() หรือเข้าถึง Column เป็น List
ฟังก์ชัน List.First ใช้สำหรับดึงสมาชิกตัวแรกของ List ออกมา หากไม่มีค่า Default ที่ระบุ List ว่าง ฟังก์ชันจะคืนค่าเป็น null
ที่เจ๋งคือ List.First ช่วยให้เราเขียน Code ที่ safety มากขึ้น โดยการระบุค่า Default ตั้งแต่ต้น ไม่ต้องลดส่วนหลัง Error ตัวตั้งแต่ต้น
ส่วนตัวผมใช้ List.First บ่อยเวลา Transform Data ที่อาจจะไม่มีค่า (Empty Result) คู่กับ List.Select หรือ List.Filter เพื่อปกป้อง Edge Case ต่างๆ ครับ