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

過去の snapshot のデータをプレビューする

プレビューでは、テーブルを変更せずに、過去の snapshot 時点での行を表示できます。誤った書き込みの直前のデータを確認したり、特定の日付のデータを証明したりする場面で利用できます。

前提条件​

  • role に time_machine:read が含まれていること。portal_admin、data_engineer、data_analyst role には含まれています。
  • Data Security でテーブルを読み取れること。
  • テーブルに 1 件以上の snapshot があること。テーブルの snapshot タイムラインを表示するを参照してください。

データをプレビューする​

  1. テーブルの Time Machine タブを開きます。
  2. 次のいずれかの方法で時点を指定します。
    • タイムラインから snapshot を選択します。
    • 日時を入力します。Time Machine は、その時刻以前に書き込まれた最後の snapshot を使用します。
  3. 任意: カラムを選んだり行を絞り込んだりするには、SELECT 文を入力します。カスタム SELECT を書くを参照してください。
  4. Preview を選択します。

過去の snapshot 時点のテーブルのカラムと行を表示したプレビュー

SELECT を指定しない場合、プレビューはすべてのカラムを表示します。表示される行数はデフォルトで最大 1,000 行です。テーブルの行数がそれより多い場合は、結果が途中で切り取られたことを示すメッセージが表示されます。これはエラーではありません。必要な行を表示するには、WHERE フィルターを追加してください。

カスタム SELECT を書く​

カスタム SELECT を使うと、過去の snapshot のカラムを選んだり、行を絞り込んだりできます。常に target_table という 1 つのソースから読み取ります。これは、選択した snapshot 時点のテーブルを表します。

SELECT order_id, customer_id, amount
FROM target_table
WHERE order_date = DATE '2026-09-30'
使えるもの使えないもの
1 つの SELECT 文複数の文
FROM target_table他のテーブル、JOIN、UNION
カラムのリスト、または *サブクエリ、WITH(CTE)
WHERE フィルターGROUP BY、COUNT、SUM などの集計
ウィンドウ関数、ORDER BY、LIMIT、OFFSET
実行のたびに新しい値を返す関数(rand()、uuid()、current_timestamp など)
INSERT、UPDATE、DELETE などの書き込み

これらのルールにより、同じ SELECT は常に同じ結果を返します。そのため、データの比較でも同じ SELECT を再利用できます。これら以外の SQL を実行するには、Query Editor を使用してください。

文がルールに違反している場合、SELECT ボックスの横にエラーが表示されます。文を修正して、もう一度 Preview を選択してください。

問題が発生した場合​

状況意味対処
クエリが許可されていないSELECT が上記のいずれかのルールに違反しています。許可されている要素のみで書き直してください。
snapshot が見つからない指定した日時がテーブルの最初の snapshot より前です。または、snapshot ID が存在しません。より後の時刻を指定するか、タイムラインから snapshot を選択してください。
アクセスが拒否されたrole またはデータアクセス権限で許可されていません。管理者に time_machine:read またはテーブルへのアクセス権限を依頼してください。
リクエストがタイムアウトしたプレビューが制限時間(デフォルトは 5 分)を超えました。WHERE フィルターを追加するか、カラム数を減らしてください。

次のステップ​