Table.Buffer
วากยสัมพันธ์
Table.Buffer(table as table, optional options as nullable record) as table
ประมาณ
บัฟเฟอร์ตารางในหน่วยความจําโดยแยกตารางออกจากการเปลี่ยนแปลงภายนอกในระหว่างการประเมิน บัฟเฟอร์เป็นตื้น ซึ่งจะบังคับการประเมินค่าเซลล์สเกลาใด ๆ แต่จะปล่อยค่าที่ไม่ใช่สเกลาร์ (ระเบียน รายการ ตาราง และอื่น ๆ) as-is
-
table
: ตารางที่จะบัฟเฟอร์ในหน่วยความจํา -
options
: [ตัวเลือก] ค่าเรกคอร์ดตัวเลือกต่อไปนี้สามารถใช้ได้:-
BufferMode
: โหมดบัฟเฟอร์ที่อธิบายถึงชนิดของการบัฟเฟอร์ที่จะดําเนินการ ตัวเลือกนี้สามารถ BufferMode.Eager หรือ BufferMode.Delayed
-
การใช้ฟังก์ชันนี้อาจหรืออาจไม่ทําให้คิวรีของคุณทํางานได้เร็วขึ้น ในบางกรณี อาจทําให้คิวรีของคุณทํางานช้าลงเนื่องจากค่าใช้จ่ายเพิ่มเติมในการอ่านข้อมูลทั้งหมดและจัดเก็บไว้ในหน่วยความจํารวมถึงข้อเท็จจริงที่ว่าการบัฟเฟอร์จะป้องกันการพับแบบปลายน้ํา ถ้าข้อมูลไม่จําเป็นต้องบัฟเฟอร์ แต่คุณเพียงต้องการป้องกันไม่ให้พับปลายทาง ให้ใช้ Table.StopFolding แทน
ตัวอย่างที่ 1
โหลดแถวทั้งหมดของตาราง SQL ลงในหน่วยความจํา เพื่อให้การดําเนินการปลายทางใด ๆ ไม่สามารถคิวรีเซิร์ฟเวอร์ SQL ได้อีกต่อไป
การใช้งาน
let
Source = Sql.Database("SomeSQLServer", "MyDb"),
MyTable = Source{[Item="MyTable"]}[Data],
BufferMyTable = Table.Buffer(MyTable)
in
BufferMyTable
ผลลัพธ์ของ
table