16
13

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Google Cloud PlatformAdvent Calendar 2014

Day 8

コピペでできちゃうBigQuery実行結果のスプレッドシート書き込み

Last updated at Posted at 2014-12-08

BigQueryを使い始めたのは最近なので、まだそれほど使いこなせてないです。

そんな私ですが、BigQueryの結果をスプレッドシートに反映させるのが便利なので、ちょっとご紹介したいと思います。

注意

下記の内容はこちらのGoogle公式ドキュメントをちょっと日本語訳してみた程度の内容ですのであしからず。

はじめに

BigQueryにデータを突っ込むところなどは端折ります。

今から試すコードはBigQueryに予め用意されていて誰でも自由に使える publicdata:samples.shakespeare を使いますので、データセットやテーブル作ったりの知識は不要です。

やってみる

Google Driveを開いて、新規作成 > Google Apps スクリプトを選択します。

項目がない場合は、新規作成 > その他 > アプリを追加から、Google Apps Scriptを追加して下さい。

新規スクリプトファイルを開けたら、空のファイルから始めて、下記のドキュメントのコードをコピー&ペーストして下さい。

https://developers.google.com/apps-script/advanced/bigquery.js

三角ボタンを押してコードを走らせようとすると、下記のようなダイアログで認証を求められます。

スクリーンショット 2014-12-08 8.51.41.png

続行&承認しましょう。すると今度は、下記のように怒られると思います。

スクリーンショット 2014-12-08 8.53.41.png

ドキュメントに書かれているのですが、This is an advanced service that must be enabled before use. BigQueryクラスは使う前に有効にする必要があります。

メニューのリソース > Googleの拡張サービスより、BigQueryをオンにしましょう。

スクリーンショット 2014-12-08 8.55.40.png

何やら下にも「これらのサービスはGoogleデベロッパーコンソールでも〜」等と書かれていますね。押してみましょう。

スクリーンショット 2014-12-08 8.59.28.png

こちらも有効にする必要があるようです。BigQueryを選択して、オフ→オンに変更しましょう。下のようになっていればOKです。

スクリーンショット 2014-12-08 9.00.44.png

さて、そろそろ動きますかね……?ってことで、スクリプトに戻って実行すると、下記のように怒られます。

スクリーンショット 2014-12-08 9.01.53.png

projectId = 'XXXXX';となってる部分をちゃんとしやがれ、ってことみたいです。さっきのgoogle デベロッパーコンソールを開いてIDを確認しましょう。プロジェクト番号って部分がそれです。左のメニューから、プロジェクトの概要を見ることで確認できます。URLの一部がIDになってるので、それをコピペでもいいですね。

スクリーンショット 2014-12-08 9.05.22.png

終わったら今度こそ実行!

 スクリーンショット 2014-12-08 9.08.31.png

このトーストが消えたら実行完了です。https://drive.google.com にアクセスすると、BigQuery Results というファイルができていますので、開いてみましょう。

スクリーンショット 2014-12-08 9.10.35.png

ワオ!

おわり

ということで、コピペでお試しできてしまいました。

あとは、特定のシートに反映させたければ サンプルコード 30,31行目辺りでシートを直接指定すれば良いですし、定期的に自動で反映させたければメニューからリソース > 現在のプロジェクトのトリガーから、runQueryを定期実行させるようにすればOKです。私が実際に使ってるコードも、これらをかんたんに設定できるように改変してるだけのものです。

GASやBigQueryに詳しくなくてもサクッと試せますので、ぜひ一度お試しください。

16
13
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
16
13

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?