ตัวอย่างที่ 1: กรองตามค่าตัวเลข
=Table.SelectRows(Source, each [Amount] > 100)
ตารางที่มีเฉพาะแถวที่ Amount > 100
กรองตารางเพื่อเก็บเฉพาะแถวที่ต้องการ
Table.SelectRows จะตรวจสอบข้อมูลทีละแถวด้วยฟังก์ชันเงื่อนไข (Condition Function) ที่เรากำหนด ถ้าผลลัพธ์เป็น true จะเก็บแถวนั้นไว้ ถ้าเป็น false จะตัดทิ้ง สามารถใช้ร่วมกับ ‘each’ เพื่ออ้างอิงคอลัมน์ในแถวปัจจุบันได้สะดวก
=Table.SelectRows(table as table, condition as function) as table
=Table.SelectRows(table as table, condition as function) as table
| Argument | Type | Required | Default | Description |
|---|---|---|---|---|
| table | table | Yes | ตารางข้อมูลต้นฉบับที่ต้องการกรอง | |
| condition | function | Yes | ฟังก์ชันเงื่อนไขที่คืนค่า true/false (มักใช้ ‘each [ColumnName] > 10’) |
เลือกเฉพาะรายการสินค้าที่มียอดขายมากกว่า 1,000 บาท
กรองแถวที่คอลัมน์ 'Email' เป็นค่าว่าง (null) หรือค่าผิดปกติออก
เก็บเฉพาะรายการที่เกิดขึ้นในปีปัจจุบัน หรือ 30 วันล่าสุด
=Table.SelectRows(Source, each [Amount] > 100)
ตารางที่มีเฉพาะแถวที่ Amount > 100
=Table.SelectRows(Source, each [Category] = "Food")
ตารางหมวดหมู่ Food
=Table.SelectRows(Source, each [Amount] > 100 and [Status] = "Complete")
รายการที่ยอดเกิน 100 และสถานะจบแล้ว
Power Query เป็น Case Sensitive ดังนั้น “Apple” ไม่เท่ากับ “apple” ต้องระวังเรื่องตัวพิมพ์เล็ก-ใหญ่ หรือใช้ Text.Lower([Col]) = “apple” ช่วย
ใช้เงื่อนไข each [Column] null เพื่อกรองค่าว่างออก หรือ each [Column] = null เพื่อเลือกเฉพาะค่าว่าง
ฟังก์ชัน Table.SelectRows ใช้สำหรับกรองแถว (Filter Rows) ในตาราง Power Query โดยเลือกเก็บเฉพาะแถวที่ตรงตามเงื่อนไขที่กำหนด คล้ายกับการใช้ตัวกรอง (Filter) ใน Excel แต่เขียนเป็นสูตร M Code