Table.FirstN คืนแถวแรกๆ จากตาราง โดยสามารถระบุจำนวนแถวที่ต้องการ หรือระบุเงื่อนไข (condition function) เพื่อดึงแถวที่ตรงเงื่อนไขจนกว่าจะพบแถวที่ไม่ตรงแล้วหยุด ถ้าส่งเป็นตัวเลข เช่น 5 จะได้ 5 แถวแรก ถ้าส่งเป็นฟังก์ชัน เช่น each [Amount] > 0 จะได้แถวที่ Amount > 0 จนกว่าจะเจอแถวที่ Amount ≤ 0
| อาร์กิวเมนต์ | ชนิด | คำอธิบาย |
|---|---|---|
| table | table | ตารางข้อมูลต้นฉบับที่ต้องการดึงแถวแรก |
| countOrCondition | any | ตัวเลข (จำนวนแถวที่ต้องการ) หรือฟังก์ชันเงื่อนไข (each [Column] > value) สำหรับกรองแถว |
ฟังก์ชัน Table.FirstN ใช้สำหรับดึงแถวแรกๆ จากตาราง สามารถระบุจำนวนแถวที่ต้องการ หรือระบุเงื่อนไขเพื่อดึงแถวที่ตรงเงื่อนไขจนกว่าจะพบแถวที่ไม่ตรง เหมาะสำหรับการ sampling ข้อมูลหรือดึงข้อมูลชุดแรกมาทดสอบ
ดึงแค่ 100 หรือ 1000 แถวแรกมาดูโครงสร้างข้อมูลและทดสอบ transformation ก่อนประมวลผลข้อมูลทั้งหมด ช่วยประหยัดเวลาในการพัฒนา query
หลังจาก sort แล้ว ใช้ Table.FirstN เพื่อดึง Top 10 หรือ Top 100 รายการที่มีค่าสูงสุด เช่น สินค้าขายดี 10 อันดับแรก
ดึงแถวที่ตรงเงื่อนไขจนกว่าจะพบแถวที่ไม่ตรง เช่น ดึงรายการที่ยอดขายเป็นบวกจนกว่าจะเจอรายการที่ขาดทุน
ดึง 2 แถวแรกจากตาราง ได้ Bob และ Jim ใช้สำหรับ preview ข้อมูลหรือทดสอบ query ก่อนรันกับข้อมูลทั้งหมด
ดึงแถวที่ a > 0 จนกว่าจะพบแถวที่ a ≤ 0 ได้แถว 1-2 แล้วหยุดที่แถว 3 (a=-5) แม้แถว 4 จะมี a > 0 แต่ก็ไม่ถูกดึงออกมา
Sort ตาราง descending ตาม Sales แล้วดึง 3 แถวแรก ได้สินค้าที่ขายดี 3 อันดับแรก pattern นี้ใช้บ่อยสำหรับ Top N analysis
ดึงแค่ 1000 แถวแรกจากไฟล์ใหญ่มาทดสอบ transformation ก่อน ช่วยประหยัดเวลาในการพัฒนาและ debug query โดยไม่ต้องรอประมวลผลข้อมูลทั้งหมด
Table.FirstN(table, 10) เทียบเท่า Table.Range(table, 0, 10) โดย Table.FirstN ใช้งานง่ายกว่าเมื่อต้องการแถวแรกๆ แต่ Table.Range ยืดหยุ่นกว่าเพราะระบุจุดเริ่มต้นได้ (เช่น เริ่มแถวที่ 100)
จะคืนแถวทั้งหมดที่มีในตาราง ไม่เกิด error เช่น ตารางมี 5 แถว แต่ระบุ Table.FirstN(table, 100) จะได้ 5 แถวทั้งหมด
Power Query จะเช็คแถวทีละแถวตามลำดับ ถ้าตรงเงื่อนไขก็เก็บไว้และเช็คแถวต่อไป พอเจอแถวที่ไม่ตรงเงื่อนไขจะหยุดทันที (ไม่เช็คแถวถัดไปอีก) ต่างจาก Table.SelectRows ที่เช็คทุกแถว
ใช้ Table.FirstN เมื่อต้องการแถวแรกๆ หรือแถวที่ตรงเงื่อนไขจนกว่าจะเจอแถวที่ไม่ตรง ใช้ Table.SelectRows เมื่อต้องการกรองทุกแถวที่ตรงเงื่อนไข ไม่ว่าจะอยู่ตำแหน่งไหนในตาราง
ได้ เช่น Table.FirstN(Table.LastN(source, 100), 10) จะได้ 10 แถวแรกจาก 100 แถวสุดท้าย แต่ควรพิจารณาว่าจำเป็นจริงหรือไม่ เพราะอาจใช้ Table.Range ได้ตรงกว่า
ยังไม่มีบทความที่เกี่ยวข้องกับฟังก์ชันนี้
Comments
อีเมลของคุณจะไม่ถูกเผยแพร่