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