BigQueryに蓄積した大量のデータを、Googleスプレッドシートで手軽に分析したいと思ったことはありませんか。従来はCSVエクスポートやIMPORTRANGE関数を使う方法がありましたが、データ量が多いと制限に引っかかってしまうこともありました。コネクテッドシートを使えば、BigQueryのデータをスプレッドシートに直接接続し、リアルタイムに近い状態で操作できます。この記事では、コネクテッドシートの基本的な設定手順から、注意点、通常のインポートとの違いまでを詳しく解説します。
【要点】コネクテッドシートでBigQueryデータをスプレッドシートに取り込む方法
- [データ]→[データコネクタ]→[BigQueryに接続]: スプレッドシートのメニューからBigQueryを選択し、プロジェクト・データセット・テーブルを指定して接続します。
- 接続後のデータは読み取り専用: スプレッドシート上でフィルタやピボットテーブルは使えますが、セルを編集してもBigQueryには反映されません。
- 手動での更新が必要: データは自動更新されないため、[データ]→[すべて更新]で最新の状態に更新します。
ADVERTISEMENT
コネクテッドシートの仕組みとできること
コネクテッドシートは、GoogleスプレッドシートとBigQueryを直接接続する機能です。スプレッドシートのセルにBigQueryのテーブルデータが表示され、あたかもスプレッドシート上でデータを操作しているように扱えます。ただし、実際のデータはBigQuery上にあり、スプレッドシートはその一部をキャッシュしているにすぎません。そのため、スプレッドシート上でデータを編集してもBigQueryには反映されず、逆にBigQueryのデータが更新されてもスプレッドシートは自動では更新されません。更新するには手動でリフレッシュする必要があります。コネクテッドシートの最大のメリットは、BigQueryの大規模データをスプレッドシートの使い慣れたインターフェースで分析できる点です。フィルタ、並べ替え、ピボットテーブル、グラフなど、通常のスプレッドシート機能をほぼそのまま利用できます。
コネクテッドシートを設定する手順
ここでは、BigQueryのテーブルをスプレッドシートに接続する具体的な手順を説明します。事前にBigQueryでデータセットとテーブルが作成されていること、およびBigQueryへのアクセス権限(roles/bigquery.dataViewerなど)があることを確認してください。
手順1: スプレッドシートを開いてデータメニューを開く
- 新しいスプレッドシートを作成する
Googleスプレッドシートを開き、新しいスプレッドシートを作成します。 - [データ]メニューをクリックする
上部メニューバーから「データ」をクリックし、[データコネクタ]→[BigQueryに接続]を選択します。
手順2: BigQueryのプロジェクトとデータセットを選択する
- Google Cloudプロジェクトを選択する
表示されたダイアログで、アクセス権のあるプロジェクトを選択します。複数のプロジェクトがある場合は、目的のデータが含まれるプロジェクトを選びます。 - データセットを選択する
プロジェクト内のデータセット一覧から、接続したいデータセットをクリックします。
手順3: テーブルを選択してデータを挿入する
- テーブルを選択する
データセット内のテーブル一覧から、目的のテーブルを選択します。テーブル名の左にあるチェックボックスをオンにすると、右側にプレビューが表示されます。 - [データを挿入]をクリックする
右下の「データを挿入」ボタンをクリックすると、スプレッドシートのアクティブセルを起点にデータが読み込まれます。大量データの場合は数秒から数分かかる場合があります。
手順4: カスタムクエリで接続する(応用)
テーブル全体ではなく、SQLクエリで抽出したデータだけを接続することも可能です。手順2で「カスタムクエリ」タブを選択し、SQL文を入力します。例えば「SELECT * FROM dataset.table WHERE date >= ‘2024-01-01’」のようにフィルタリングできます。クエリの結果だけがスプレッドシートに表示されるため、必要なデータだけを効率的に扱えます。
コネクテッドシート使用時の注意点と制限
データは読み取り専用であることを理解する
コネクテッドシートで取り込んだデータは、スプレッドシート上では編集できません。セルをクリックしても値の変更はできず、関数を使って新しい列を追加することもできません。セルに直接数式を入力しようとすると、エラーになります。データを加工したい場合は、QUERY関数やARRAYFORMULAを使って別のシートに計算結果を出力する方法を検討します。
データの更新は手動で行う
BigQuery側でデータが更新されても、スプレッドシートには自動反映されません。最新のデータを表示するには、メニューの[データ]→[すべて更新]をクリックする必要があります。特定のコネクテッドシートだけを更新したい場合は、該当セルを選択して右クリック→[更新]でも可能です。自動更新は標準機能では提供されていないため、定期的に更新が必要な場合はApps Scriptでトリガーを設定する方法があります。
使用できる行数と料金に注意する
スプレッドシートに表示できる行数は、BigQueryのデータ量に依存しますが、無料枠では最大1万行までです。1万行を超えるデータを接続するには、BigQueryの分析料金が発生します(データ処理量に応じて課金)。また、スプレッドシートのセル制限(1シートあたり1000万セル)を超えないように注意してください。
権限エラーが発生する場合の対処
「BigQueryにアクセスできません」というエラーが表示される場合、ユーザーに適切な権限が付与されていない可能性があります。BigQueryのデータセットに対して「bigquery.dataViewer」ロール(読み取り専用)または「bigquery.user」ロール(クエリ実行権限)が必要です。権限はGoogle Cloud ConsoleのIAMで設定できます。
ADVERTISEMENT
コネクテッドシートと従来のインポート方法の比較
| 項目 | コネクテッドシート | CSVエクスポート→インポート |
|---|---|---|
| データの更新 | 手動で更新(自動更新は不可) | エクスポートとインポートを繰り返す |
| 編集の可否 | 読み取り専用(編集不可) | 通常のセル編集が可能 |
| データ量の制限 | 無料で1万行まで、以降はBigQuery課金 | スプレッドシートのセル制限(1000万セル)まで可能 |
| リアルタイム性 | 手動更新時点のスナップショット | インポート時点の固定データ |
| クエリでのフィルタリング | カスタムクエリで抽出可能 | エクスポート前にクエリを実行する必要あり |
まとめ
コネクテッドシートを使えば、BigQueryの大規模データをスプレッドシートで手軽に分析できるようになります。設定は数クリックで完了し、カスタムクエリを使えば必要なデータだけを抽出することも可能です。ただし、データは読み取り専用で自動更新されない点には注意が必要です。次に試すべきこととしては、更新を自動化するためのApps Scriptを使ったトリガー設定や、QUERY関数と組み合わせてスプレッドシート上で動的なレポートを作成する方法を調べてみてください。
ADVERTISEMENT
超解決 第一編集部
疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。
Googleスプレッドシートの人気記事ランキング
- 【Googleスプレッドシート】GOOGLEFINANCE関数で株価・為替を取得!リアルタイムデータの呼び出し
- 【Googleスプレッドシート】印刷範囲を指定して印刷!特定範囲だけPDFや紙に出す手順
- 【Googleスプレッドシート】複合グラフで棒と折れ線を同時表示!2軸グラフの作り方
- 【Googleスプレッドシート】FILTER関数で条件に合う行だけ抽出!数式1つで動的な絞り込み
- 【Googleスプレッドシート】フィルタ表示で他の人の表示を変えずに絞り込み!共有時の使い分け
- 【Googleスプレッドシート】重複データを抽出して表示!COUNTIFと条件付き書式の併用
- 【Googleスプレッドシート】新しいスプレッドシートを作成する3つの方法!ドライブ・URL・テンプレート
- 【Googleスプレッドシート】ARRAYFORMULAで列全体に数式を一括適用!セル分の入力を不要に
- 【Googleスプレッドシート】データ範囲を動的に伸縮させる!INDIRECTと参照範囲のコツ
- 【Googleスプレッドシート】共有解除と権限の取り消し!アクセスを完全に閉じる手順
