次の方法で共有


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 Server に対してクエリを実行できないようにします。

使用方法

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

アウトプット

table