Table.Skip คืนตารางที่ลบแถวแรกๆ ออกไปแล้ว โดยสามารถระบุจำนวนแถวที่ต้องการข้าม หรือระบุเงื่อนไข (condition function) เพื่อข้ามแถวที่ตรงเงื่อนไขจนกว่าจะพบแถวที่ไม่ตรงแล้วหยุด ถ้าไม่ระบุจะข้ามแถวแรก 1 แถว ถ้าส่งเป็นตัวเลข เช่น 5 จะข้าม 5 แถวแรก ถ้าส่งเป็นฟังก์ชัน เช่น each [Amount] > 0 จะข้ามแถวที่ Amount > 0 จนกว่าจะเจอแถวที่ Amount ≤ 0
| อาร์กิวเมนต์ | ชนิด | ค่าเริ่มต้น | คำอธิบาย |
|---|---|---|---|
| table | table | ตารางข้อมูลต้นฉบับที่ต้องการข้ามแถวแรก | |
| [countOrCondition]ไม่บังคับ | any | 1 | ตัวเลข (จำนวนแถวที่ต้องการข้าม) หรือฟังก์ชันเงื่อนไข (each [Column] > value) สำหรับกรองแถว ถ้าไม่ระบุจะข้าม 1 แถว |
[ ] = อาร์กิวเมนต์ที่ไม่บังคับ
ฟังก์ชัน Table.Skip ใช้สำหรับข้ามหรือเอาแถวแรกๆ ของตารางออก สามารถระบุจำนวนแถวที่ต้องการข้าม หรือระบุเงื่อนไขเพื่อข้ามแถวที่ตรงเงื่อนไขจนกว่าจะพบแถวที่ไม่ตรง เหมาะสำหรับการกำจัดแถวหัวตารางซ้ำ หรือข้ามข้อมูลที่ไม่ต้องการในส่วนต้นๆ
เมื่อนำเข้าข้อมูลจากหลายไฟล์ที่ต่อกัน แต่ละไฟล์มีหัวตารางซ้ำ ใช้ Table.Skip เพื่อกำจัดแถวหัวตารางที่ซ้ำออกหลังจากรวมไฟล์ ทำให้ได้ข้อมูลสะอาดพร้อมวิเคราะห์
เมื่อไฟล์มีข้อมูลสรุป metadata หรือหมายเหตุอยู่ในแถวแรกๆ ใช้ Table.Skip เพื่อข้ามไปยังข้อมูลจริงที่ต้องการวิเคราะห์ เช่น ข้าม 5 แถวแรกที่เป็นชื่อรายงานและวันที่
ข้ามแถวที่ตรงเงื่อนไขจนกว่าจะพบแถวที่ไม่ตรง เช่น ข้ามรายการที่สถานะเป็น Pending จนกว่าจะเจอรายการที่สถานะเป็น Completed แล้วเก็บข้อมูลตั้งแต่จุดนั้นเป็นต้นไป
ข้าม 2 แถวแรก (Bob และ Jim) ได้เหลือแค่ Paul และ Ringo ใช้สำหรับกำจัดหัวตารางซ้ำหรือข้อมูลที่ไม่ต้องการในส่วนต้น
ข้ามแถวที่ a > 0 (แถว 1-2) จนกว่าจะพบแถวที่ a ≤ 0 (แถว 3) แล้วเก็บข้อมูลตั้งแต่แถว 3 เป็นต้นไป แม้แถว 4 จะมี a > 0 แต่ก็ยังถูกเก็บไว้
ไม่ระบุ parameter ที่สอง จะข้ามแถวแรก 1 แถว (แถวหัวตาราง) โดย default เหมาะสำหรับกรณีที่ต้องการกำจัดหัวตารางออกก่อน Promote Headers
ข้าม 2 แถวแรก (A, B) แล้วดึง 2 แถวถัดมา (C, D) ได้อันดับที่ 3-4 pattern นี้ใช้สำหรับดึงข้อมูลช่วงกลางๆ หรือข้ามข้อมูล outliers
Table.Skip และ Table.RemoveFirstN ทำงานเหมือนกัน Table.RemoveFirstN เป็นชื่อเดิม (deprecated) ส่วน Table.Skip เป็นชื่อใหม่ที่ Microsoft แนะนำให้ใช้ ทั้งสองทำงานเหมือนกันทุกประการ
จะคืนตารางว่าง (empty table) ไม่เกิด error เช่น ตารางมี 5 แถว แต่ระบุ Table.Skip(table, 100) จะได้ตารางว่างที่ไม่มีข้อมูล
Power Query จะเช็คแถวทีละแถวตามลำดับ ถ้าตรงเงื่อนไขก็ข้ามไปและเช็คแถวต่อไป พอเจอแถวที่ไม่ตรงเงื่อนไขจะหยุดข้ามและคืนแถวนั้นพร้อมแถวที่เหลือทั้งหมด ต่างจาก Table.SelectRows ที่เช็คทุกแถว
ใช้ Table.Skip เมื่อต้องการกำจัดแถวแรกๆ และเก็บแถวที่เหลือทั้งหมด ใช้ Table.Range เมื่อต้องการระบุทั้งจุดเริ่มต้นและจำนวนแถวที่ต้องการ Table.Range(table, 10, 5) จะดึงแถวที่ 11-15 เท่านั้น
ได้ Table.Skip(Source, 10) จะข้าม 10 แถวแรก ตามด้วย Table.FirstN(…, 5) จะดึง 5 แถวถัดมา ได้แถวที่ 11-15 เหมาะสำหรับดึงข้อมูลช่วงกลางๆ หรือข้าม outliers ในส่วนต้น
ยังไม่มีบทความที่เกี่ยวข้องกับฟังก์ชันนี้
Comments
อีเมลของคุณจะไม่ถูกเผยแพร่