Table.Buffer
Lentelė kaupiama atmintyje ir vertinimo metu neleidžiama atlikti išorinių keitimų.
Syntax
Table.Buffer(
table as table,
optional options as record
) as table
Remarks
Lentelė buferizuojama atmintyje, todėl vertinimo metu ji izoliuojama nuo išorinių pakeitimų. Buferizacija yra negili. Ji priverčia įvertinti visas skaliarinių langelių reikšmes, tačiau neskaliarines reikšmes (įrašus, sąrašus, lenteles ir pan.) palieka tokias, kokios yra.
table: lentelė, kurią reikia buferizuoti atmintyje.options: (Pasirinktinai) Galima naudoti šias įrašo reikšmes:BufferMode: buferio režimas, apibūdinantis atliekamos buferizacijos tipą. Ši parinktis gali būtiBufferMode.EagerarbaBufferMode.Delayed.
Naudojant šią funkciją užklausos gali veikti greičiau arba lėčiau. Kai kuriais atvejais užklausos gali veikti lėčiau dėl papildomų visų duomenų skaitymo ir saugojimo atmintyje išlaidų, taip pat dėl to, kad buferizacija neleidžia vykdyti tolesnio sulankstymo. Jei duomenų nereikia buferizuoti, bet norite tik išvengti tolesnio sulankstymo, vietoj to naudokite Table.StopFolding.
Examples
Example #1
Įkelkite visas SQL lentelės eilutes į atmintį, kad jokios iš įrenginio atliekamos operacijos nebegalėtų pateikti užklausų SQL serveriui.
let
Source = Sql.Database("SomeSQLServer", "MyDb"),
MyTable = Source{[Item="MyTable"]}[Data],
BufferMyTable = Table.Buffer(MyTable)
in
BufferMyTable
Result:
table
Category
Table.Other