メインコンテンツまでスキップ

Table.Buffer

テーブルをメモリ内にバッファー処理して、評価中に外部から変更されないように分離します。

Syntax

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

Remarks

テーブルをメモリ内にバッファーして、評価中に外部から変更されないように分離します。 バッファー処理は浅いものです。スカラー セルのすべての値は強制的に評価されますが、スカラー値以外の値 (レコード、リスト、テーブルなど) はそのままにされます。

この関数を使用すると、クエリの実行が速くなる場合とそうでない場合があることに注意してください。場合によっては、すべてのデータを読み取ってメモリに格納するための コストが追加され、バッファー処理によって下流のフォールディング処理が妨げられるため、クエリの実行が遅くなる場合があります。データをバッファーする必要がないが 単に下流のフォールディング処理を妨げたい場合は、Table/StopFolding を代わりに使用します。

Examples

Example #1

SQL テーブルのすべての行をメモリに読み込むと、ダウンストリーム操作で SQL サーバーのクエリを実行できなくなります。

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

Result:

table

Category

Table.Other