Skip to main content

Table.Buffer

บัฟเฟอร์ตารางในหน่วยความจำโดยแยกต่างหากจากการเปลี่ยนแปลงภายนอกระหว่างการประเมิน

Syntax​

Table.Buffer(
table as table,
optional options as record
) as table

Remarks​

การบัฟเฟอร์ตารางในหน่วยความจําเป็นการทำให้แยกออกจากการเปลี่ยนแปลงภายนอกระหว่างการประเมิน การบัฟเฟอร์เป็นแบบผิวเผิน ซึ่งบังคับให้มีการประเมินค่าเซลล์สเกลา แต่ไม่รวมค่าที่ไม่ใช่สเกลา (ระเบียน รายการ ตาราง และอื่นๆ) ตามที่เป็นอยู่

  • table: ตารางที่จะบัฟเฟอร์ในหน่วยความจำ
  • options: (ไม่บังคับ) สามารถใช้ค่าบันทึกตัวเลือกต่อไปนี้ได้:
    • BufferMode: โหมดบัฟเฟอร์ที่อธิบายประเภทของการบัฟเฟอร์ที่จะดำเนินการ ตัวเลือกนี้สามารถเป็นได้ทั้ง BufferMode.Eager หรือ BufferMode.Delayed

การใช้ฟังก์ชันนี้อาจทำให้การสืบค้นข้อมูลของคุณเร็วขึ้นหรือไม่ก็ได้ ในบางกรณี อาจทำให้การสืบค้นข้อมูลของคุณช้าลงเนื่องจากมีการเพิ่มฟังก์ชันนี้เข้าไป ต้นทุนในการอ่านข้อมูลทั้งหมดและจัดเก็บไว้ในหน่วยความจำ รวมถึงข้อเท็จจริงที่ว่าการบัฟเฟอร์จะขัดขวางการพับข้อมูลในขั้นตอนถัดไป หากข้อมูลไม่จำเป็นต้องถูกอ่าน มีการบัฟเฟอร์ไว้ แต่คุณต้องการป้องกันการพับข้อมูลในขั้นตอนถัดไป ให้ใช้ Table.StopFolding แทน

Examples​

Example #1​

โหลดแถวทั้งหมดของตาราง SQL ลงในหน่วยความจำ เพื่อให้การดำเนินการแบบดาวน์สตรีมไม่สามารถคิวรี SQL Server ได้อีกต่อไป

let
Source = Sql.Database("SomeSQLServer", "MyDb"),
MyTable = Source{[Item="MyTable"]}[Data],
BufferMyTable = Table.Buffer(MyTable)
in
BufferMyTable

Result:

table

Category​

Table.Other