知らなきゃ損!BigQuery クエリの連続実行

複数のクエリを一度に連続実行できたら便利ですよね。

クエリ1を実行し、その結果をpre1テーブルに保存して、クエリ2で pre1テーブルを参照し、クエリ2の結果をさらにテーブルに保存して、、、

手間も多くて煩わしいですね。もっと簡単に、パッと実行したい!!!

まとめて一回で実行できたら手間も省けて時短になりますよね。

こんなイメージ ↓↓↓↓

調べてみると、とても簡単にクエリの連続実行ができました!

ポイントは2つだけ!
① クエリの末尾に「セミコロン」をつけて、複数のクエリを記述する
② 各クエリの中間結果を一時テーブル(*)に保存する

*一時テーブルとは?
24時間限定のテーブル。24時間後に自動で削除されます。
セッション レベルで存在するため、データセット内での保存や管理の必要はありません。
例えると、コピー&ペーストの際のクリップボードのような一時的な保存領域です。

まずは、ポイント①クエリの末尾に「セミコロン」をつけて、複数のクエリを記述します。

*今回はわかりやすさ重視のため「 select * from 〜 」というクエリに置き換えています。
 実際にはデータを集計するためにもっと複雑なクエリを書いてます。

各クエリの結果も「結果を表示」をクリックするだけで、それぞれ確認することができます。

次に、ポイント②各クエリの中間結果を一時テーブルに保存する方法です。構文は以下の通りです。

一時テーブルではなく、テーブルを作成する方法は以下の通りです。

一連のクエリをスケジュールに登録して、自動実行するようにしておけば、
人の手を介さずに分析用の結果テーブルが作成できて、作業効率化も図れて便利ですね。

実際にお客様からも、今まで複数に分けて実行していたクエリを1度で実行できるようになって時短になった!
もっと早く知っていればよかった・・・など、喜びの声を多数いただきました。何よりです!

まとめ

  • クエリとクエリの間に、セミコロンをつけて連続実行!
  • 中間結果を一時テーブルに保存して、低コストでテーブル管理をシンプルにする!