BufferMode.Type คือประเภท enumeration ที่ใช้กำหนดวิธีการเก็บข้อมูลในหน่วยความจำ (buffer) ของ Power Query ให้เลือกระหว่าง Eager หรือ Delayed
| อาร์กิวเมนต์ | ชนิด | คำอธิบาย |
|---|---|---|
| [BufferMode.Eager]ไม่บังคับ | BufferMode.Type | เก็บข้อมูลทั้งชุดลงในหน่วยความจำทันทีก่อนจะดำเนินการต่อไป เร็ว แต่อาจใช้ RAM มากเวลาข้อมูลใหญ่ |
| [BufferMode.Delayed]ไม่บังคับ | BufferMode.Type | ตรวจสอบประเภทข้อมูล (schema) ทันที แต่รอให้ query จำเป็นต้องใช้ค่อยเก็บข้อมูลจริง ประหยัด RAM ตอนพัฒนา |
[ ] = อาร์กิวเมนต์ที่ไม่บังคับ
BufferMode.Type เป็นประเภทข้อมูลใน Power Query ที่ใช้กับฟังก์ชัน Table.Buffer เพื่อบอกระบบว่าต้องจัดการข้อมูลในหน่วยความจำแบบไหน – เก็บทันทีเลย (Eager) หรือรอจนกว่าจะต้องใช้งาน (Delayed) เวลาใช้กับชุดข้อมูลใหญ่ๆ การเลือกแบบที่เหมาะสมมันสำคัญมากครับ
ที่เจ๋งคือ BufferMode.Delayed ช่วยให้การพัฒนาใน Power BI Desktop เร็วขึ้นได้เยอะ เพราะมันข้ามการ evaluate ข้อมูลทั้งหมด และแค่เช็ค schema อย่างเร็ว ส่วนข้อมูลจริงๆ มันค่อยเก็บเวลาต้องใช้
ส่วนตัวผม ผมใช้ Delayed ตอนพัฒนา query เพื่อเร็ว แล้วพอเสร็จแล้ว ผมค่อยเปลี่ยนเป็น Eager ตอน refresh ข้อมูลจริง เพื่อให้มั่นใจว่าข้อมูลมันโหลดเสร็จก่อนทำขั้นตอนต่อไป 😎
ใช้ BufferMode.Eager เวลาต้องการให้ข้อมูลโหลดเสร็จก่อนทำขั้นตอนต่อ ผมใช้แบบนี้ตอนการคำนวณต้องใช้ข้อมูลเดียวกันซ้ำๆ
ใช้ Delayed เวลาพัฒนา query ใน Power BI Desktop เพื่อให้ closing dialog เร็ว ส่วนตัวผม ผมใช้แบบนี้ทุกครั้งตอนทำ query ใหม่ๆ
ผมแนะนำให้ใช้วิธีนี้ – ตอนพัฒนา ใช้ Delayed เพื่อความรวดเร็ว พอเสร็จแล้วค่อยเปลี่ยนเป็น Eager ตอน refresh ข้อมูลจริง
ผม อธิบายให้ฟังนะครับ – Eager มันเก็บข้อมูลทั้งหมดลงหน่วยความจำทันที ทำให้ก้าวต่อไปเร็ว แต่อาจแล้ง RAM ส่วน Delayed มันแค่ check schema ก่อน ค่อยเก็บข้อมูลเวลาต้องใช้ ทำให้ Power BI Desktop รีฟรบเร็ว ตอนพัฒนา
ส่วนตัวผม ผมแนะนำให้ใช้ Delayed ตอนพัฒนา query เพราะเร็วขึ้น แต่พอเสร็จแล้วค่อยเปลี่ยนเป็น Eager ตอน refresh ข้อมูลจริง เพื่อให้แน่ใจว่าข้อมูลโหลดเสร็จก่อนทำต่อ
ผมว่าไม่นะครับ BufferMode.Type มันออกแบบมาเพื่อใช้กับ Table.Buffer เท่านั้น ถ้าคุณไม่ใช้ Buffer ก็ไม่ต้องจัดการกับ BufferMode
ฟังก์ชันที่ผู้เขียนโยงไว้กับ BufferMode.Type จัดกลุ่มตามหมวด · ชี้ที่ชื่อใดชื่อหนึ่ง แล้วฟังก์ชันที่ใช้คู่กันจะมีจุดทอง
โหลดตารางเข้าสู่หน่วยความจำ (RAM) เพื่อแยกข้อมูลจากแหล่งเดิมและป้องกันไม่ให้ Query Folding ดึงข้อมูลใหม่
ยังไม่มีบทความที่เกี่ยวข้องกับฟังก์ชันนี้
Comments
อีเมลของคุณจะไม่ถูกเผยแพร่