List.PositionOf จะคืนค่า Index แรกสุด (0-based) ของ value ที่พบใน list ถ้าไม่พบจะคืนค่า -1 สามารถระบุ occurrence เพื่อหาตำแหน่งของตัวที่ซ้ำกัน และใช้ comparer เพื่อกำหนดวิธีการเปรียบเทียบ (Case Sensitive/Insensitive)
| อาร์กิวเมนต์ | ชนิด | ค่าเริ่มต้น | คำอธิบาย |
|---|---|---|---|
| list | list | List ที่ต้องการค้นหา | |
| value | any | ค่าที่ต้องการค้นหาใน List | |
| [occurrence]ไม่บังคับ | number | 0 | ตำแหน่งที่ต้องการหา (0=ตัวแรก, 1=ตัวที่สอง, …) |
| [comparer]ไม่บังคับ | function | null | ฟังก์ชัน Comparer สำหรับกำหนดวิธีการเปรียบเทียบ |
[ ] = อาร์กิวเมนต์ที่ไม่บังคับ
ฟังก์ชัน List.PositionOf ใน Power Query ใช้สำหรับหาตำแหน่ง (Index) ของสมาชิกที่ต้องการค้นหาใน List โดยจะคืนค่าเป็นตัวเลข (0-based index) ถ้าพบ
หาว่าสินค้าชิ้นนี้อยู่ลำดับที่เท่าไหร่ในรายการสั่งซื้อ
เมื่อ Text.Split แยกข้อความเป็น List แล้ว สามารถหาตำแหน่งของคำบางคำได้
"B" อยู่ตำแหน่ง Index ที่ 1 (เริ่มนับจาก 0)
ไม่พบ "D" ใน List จึงคืนค่า -1
หา "A" ตัวที่สอง ซึ่งอยู่ตำแหน่ง Index ที่ 2
หมายถึงการนับตำแหน่งเริ่มต้นที่ 0 ไม่ใช่ 1 เหมือน Excel Worksheet Function เช่น สมาชิกตัวแรกอยู่ Index 0, ตัวที่สองอยู่ Index 1
ฟังก์ชันที่ผู้เขียนโยงไว้กับ List.PositionOf จัดกลุ่มตามหมวด · ชี้ที่ชื่อใดชื่อหนึ่ง แล้วฟังก์ชันที่ใช้คู่กันจะมีจุดทอง
List.Accumulate เป็นฟังก์ชันสำหรับการวนลูปผ่านแต่ละ element ใน list พร้อมทั้งเก็บสถานะสะสมไว้ตลอดการทำงาน
.
โดยจะเริ่มต้นจากค่าเริ่มต้นที่กำหนด (seed value) และในแต่ละรอบของการวนลูป ฟังก์ชันจะส่งค่าสถานะปัจจุบัน (current state) พร้อมกับ element ปัจจุบันเข้าไปใน accumulator function ที่คุณกำหนดขึ้นมา เพื่อคำนวณและสร้างสถานะใหม่สำหรับรอบถัดไป
.
เมื่อวนลูปครบทุก element แล้ว ฟังก์ชันจะคืนค่าสถานะสุดท้ายกลับมา เหมาะสำหรับการคำนวณยอดสะสม (running totals) การรวมแบบกำหนดเอง (custom aggregations) และการสร้างรูปแบบ For-Next loop pattern ใน M language ครับ
List.Contains จะคืนค่า true หาก value ที่กำหนดเป็นสมาชิกของ List และคืนค่า false หากไม่พบ สามารถระบุ Comparer เพื่อกำหนดว่าจะให้ตรวจสอบแบบ Case Sensitive หรือ Case Insensitive ได้
List.PositionOfAny หาตำแหน่งแรกของค่าใดค่าหนึ่งจากชุดค่าที่ระบุในรายการ ใช้สำหรับการค้นหาและการจัดการรายการข้อมูล
Comments
อีเมลของคุณจะไม่ถูกเผยแพร่