แชร์ผ่าน


Table.Buffer

ไวยากรณ์

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

เกี่ยวกับ

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

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

ตัวอย่างที่ 1

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

การใช้งาน

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

เอาท์พุท

table