ตัวอย่างที่ 1: ข้ามตัวแรก (Skip 1, Keep Rest)
=List.Alternate({1..10}, 1)
{2, 3, 4, 5, 6, 7, 8, 9, 10}
เลือกและข้ามสมาชิกใน List สลับกัน
List.Alternate ใช้สร้าง List ใหม่โดยการสลับระหว่างการข้าม (Skip) และการเก็บ (Take) สมาชิกจาก List ต้นฉบับ สามารถกำหนดจำนวนที่จะข้าม จำนวนที่จะเก็บ และจุดเริ่มต้นได้
=List.Alternate(list as list, count as number, optional repeatInterval as nullable number, optional offset as nullable number) as list
=List.Alternate(list as list, count as number, optional repeatInterval as nullable number, optional offset as nullable number) as list
| Argument | Type | Required | Default | Description |
|---|---|---|---|---|
| list | list | Yes | List ต้นฉบับที่ต้องการประมวลผล | |
| count | number | Yes | จำนวนสมาชิกที่จะ ‘ข้าม’ (Skip) ในแต่ละรอบ | |
| repeatInterval | number | Optional | null | จำนวนสมาชิกที่จะ ‘เก็บ’ (Keep) ในระหว่างช่วงที่ข้าม (ถ้าไม่ระบุ จะเก็บส่วนที่เหลือทั้งหมดหลังจากข้ามครั้งแรก) |
| offset | number | Optional | 0 | จำนวนสมาชิกที่จะข้ามก่อนเริ่มกระบวนการสลับ (Offset เริ่มต้น) |
ใช้เลือกข้อมูลทุกๆ 2 บรรทัด เช่น เลือกเฉพาะบรรทัดที่ 1, 3, 5… หรือ 2, 4, 6…
เลือกข้อมูลบางส่วนมาตรวจสอบ เช่น เก็บ 5 รายการ ข้าม 95 รายการ เพื่อสุ่มตรวจ 5% ของข้อมูลทั้งหมด
=List.Alternate({1..10}, 1)
{2, 3, 4, 5, 6, 7, 8, 9, 10}
=List.Alternate({1..10}, 1, 1)
{2, 4, 6, 8, 10}
=List.Alternate({1..10}, 1, 1, 1)
{1, 3, 5, 7, 9}
=List.Alternate({1..10}, 1, 2, 1)
{1, 3, 4, 6, 7, 9, 10}
ใน Power Query Offset จะเป็นการนับจำนวนตัวที่ ‘ผ่านไป’ (Skip) ดังนั้น Offset 1 หมายถึงข้ามตัวแรกไป (เริ่มกระบวนการที่ตัวที่ 2)
ถ้าไม่ใส่ repeatInterval ฟังก์ชันจะทำการข้ามแค่ครั้งเดียวตามจำนวน count แล้วเก็บสมาชิกที่เหลือทั้งหมด
ฟังก์ชัน List.Alternate ใน Power Query ใช้สำหรับสร้าง List ใหม่โดยการเลือกและข้ามสมาชิกจาก List ต้นฉบับสลับกันไปเรื่อยๆ ตามรูปแบบที่กำหนด เหมาะสำหรับการเลือกข้อมูลเป็นช่วงๆ เช่น เลือกทุกบรรทัดคู่ หรือเลือก 2 บรรทัด ข้าม 1 บรรทัด