ADVERTISEMENT

【Googleスプレッドシート】BigQueryのテーブルを参照!Connected Sheetsの使い方

【Googleスプレッドシート】BigQueryのテーブルを参照!Connected Sheetsの使い方
🛡️ 超解決

BigQueryに蓄積した大量のデータを、スプレッドシートで手軽に分析したいと思ったことはありませんか。Connected Sheetsを使えば、BigQueryのテーブルをスプレッドシート上で直接参照できるようになります。従来のCSVエクスポートや手動インポートの手間が不要になり、データが更新されるたびに自動反映されるため、常に最新の情報に基づいた分析が可能です。この記事では、Connected Sheetsの基本的な使い方からデータ更新の設定方法、注意点までを詳しく解説します。初めての方でも迷わず設定できるよう、ステップごとに画面の説明を含めて進めていきます。

【要点】Connected SheetsでBigQueryデータをスプレッドシートに取り込む方法

  • データソースコネクタからBigQueryを選択: スプレッドシートのメニューから「データ」→「データコネクタ」→「BigQuery」を選んで接続します。
  • テーブルまたはカスタムクエリを指定: 既存のテーブルを選択するか、SQLクエリで必要なデータだけを取得します。
  • 自動更新の設定と手動更新: データの自動更新をスケジュール設定できるほか、手動で最新データに更新することも可能です。

ADVERTISEMENT

Connected Sheetsの仕組みとBigQuery連携のメリット

Connected Sheetsは、GoogleスプレッドシートとBigQueryをシームレスに連携する機能です。スプレッドシート内のデータ範囲がBigQueryのテーブルにリンクされ、変更があれば更新ボタン一つで最新データを反映できます。この連携により、BigQueryの大規模データをスプレッドシートの使い慣れたインターフェースで分析できるようになります。例えば、フィルタやピボットテーブル、グラフ作成といった機能をそのまま利用できるため、SQLが得意でないメンバーでもデータ分析に参加しやすくなります。また、一度接続を設定すれば、後は自動更新に任せられるため、データの鮮度を保つ手間が大幅に削減されます。

さらに、BigQueryのクエリ料金はスキャンしたデータ量に基づいて発生しますが、Connected Sheetsではクエリ結果のみがスプレッドシートに転送されるため、必要なデータだけを取得すればコストを抑えられます。カスタムクエリを使えば、集計やフィルタリング済みのデータだけを読み込むことも可能です。

Connected SheetsでBigQueryテーブルを参照する手順

ここからは、実際にConnected Sheetsを使ってBigQueryのデータをスプレッドシートに取り込む手順を説明します。事前にBigQueryのデータセットとテーブルが用意されていることを確認してください。また、BigQueryへのアクセス権限(BigQueryデータ閲覧者ロールなど)が必要です。権限がない場合は、GCPコンソールで管理者に依頼してください。

ステップ1: データコネクタからBigQueryを選択

  1. スプレッドシートを開いて「データ」メニューをクリック
    新しいスプレッドシートを作成するか、既存のスプレッドシートを開きます。上部メニューから「データ」を選択し、ドロップダウン内の「データコネクタ」にカーソルを合わせます。サブメニューが表示されるので、「BigQuery」をクリックします。
  2. 右側に表示される「データソース」パネルを確認
    パネルが表示されない場合は、スプレッドシートの右端にある「データソース」アイコン(データベースのようなアイコン)をクリックすると開きます。

ステップ2: 参照するデータを選択

  1. プロジェクト、データセット、テーブルを選択
    パネル上部の「プロジェクト」ドロップダウンから該当のGCPプロジェクトを選択します。次に「データセット」、さらに「テーブル」を選択します。テーブルを選ぶと自動的にプレビューが読み込まれ、データの内容を確認できます。
  2. カスタムクエリを使用する場合
    「SQLクエリ」タブをクリックすると、自由にクエリを記述できます。例えば、売上データから特定の日付範囲だけを抽出したい場合は、SELECT * FROM \`project.dataset.table\` WHERE date >= '2024-01-01' のように入力します。クエリを書いたら「実行」ボタンで結果をプレビューできます。
  3. 「接続」ボタンをクリックしてデータを読み込む
    データソースの選択が完了したら、パネル下部の「接続」ボタンをクリックします。すると、スプレッドシートにデータが挿入されます。読み込みが完了するまで数秒から数十秒かかることがあります。データ量が多い場合は時間がかかるため、その間は他の操作を控えることをおすすめします。

ステップ3: データの更新方法を設定

  1. 自動更新のスケジュールを設定する
    読み込んだデータ範囲内で右クリックし、「データコネクタ」→「更新スケジュール」を選択します。ダイアログが表示されるので、「更新間隔」を「毎時」「毎日」「毎週」などから選びます。例えば、毎日午前9時に更新したい場合は「毎日」を選択し、時刻を指定します。
  2. 手動で更新する場合
    データ範囲の左上に表示される更新アイコン(🔄)をクリックするか、右クリックメニューから「今すぐ更新」を選択すると、その時点の最新データに更新されます。更新中はデータ範囲がグレーアウトしますので、完了するまでお待ちください。
  3. データのリンクを解除する場合
    スプレッドシートからBigQueryのリンクを切って静的なデータにしたい場合は、右クリックメニューから「データコネクタ」→「リンクを解除」を選択します。リンクを解除すると、以降の自動更新は行われなくなります。

Connected Sheets使用時の注意点と制限事項

Connected Sheetsは非常に便利な機能ですが、いくつかの制限や注意点があります。事前に理解しておくことで、トラブルを防げます。

BigQueryのデータ量が大きい場合の制限

スプレッドシートのセル数は最大1000万セルまでです。行数が多いテーブルをそのまま読み込もうとすると、上限を超えてエラーになることがあります。その場合は、カスタムクエリで集計を行ったり、LIMIT句で行数を制限したりして、データ量を調整してください。また、一度に読み込めるデータサイズにも制限があり、10MBを超えると警告が表示される場合があります。そのようなときは、クエリで必要なカラムだけを選択するなどの工夫が必要です。

権限と課金に関する注意

Connected Sheetsを使用するには、BigQueryに対する適切な権限が必要です。最低限、データの読み取り権限(roles/bigquery.dataViewer)が必要です。また、クエリの実行にはBigQueryの料金が発生します。特にカスタムクエリを使う場合、スキャンするデータ量に応じて課金されます。テーブル全体を取得するのではなく、必要な列だけを選択したり、パーティション分割されたテーブルでは適切なフィルタをかけたりすることで、コストを抑えられます。

自動更新のタイミングと遅延

スケジュール更新の最小間隔は1時間です。設定した時刻に正確に更新されるとは限らず、数分程度の遅延が発生することがあります。リアルタイム性が要求されるデータ分析には向いていません。また、更新が実行されるためにはスプレッドシートが開かれている必要はありませんが、更新後にスプレッドシートを開くと最新データが反映された状態になっています。

サポートされていないデータ型や関数

BigQueryに存在する一部のデータ型(ARRAYやSTRUCTなど)は、スプレッドシート上でそのまま表示できない場合があります。そのような場合は、カスタムクエリでUNNEST関数を使って平坦化するなどの対応が必要です。また、スプレッドシート側でBigQueryに対してクエリを直接実行できるわけではないため、複雑なJOINやサブクエリは事前にビューとして定義しておくことをおすすめします。

ADVERTISEMENT

Connected Sheetsと従来の方法の比較

項目 Connected Sheets CSVエクスポート+インポート AppSheetやサードパーティ連携
データの鮮度 自動更新で常に最新 手動エクスポートが必要で鮮度が落ちる リアルタイム連携が可能だが設定が複雑
操作の手軽さ 数クリックで完了 エクスポート・アップロードの手間がかかる 初期設定に時間がかかる
大量データへの対応 スプレッドシートの上限に依存 CSVの行数制限はあるがスプレッドシートより緩い場合も 連携ツールによるが一般的に大規模データ対応
クエリの柔軟性 カスタムSQLクエリでフィルタリング可能 事前にBigQuery側で整形が必要 ツールに依存、複雑なロジックは難しい
コスト BigQueryのクエリ料金のみ エクスポート無料、ストレージ料金のみ ツールのライセンス費用がかかる場合あり

まとめ

Connected Sheetsを使えば、BigQueryのデータをスプレッドシートに簡単に取り込めるようになります。手動のデータエクスポートが不要になり、更新も自動化できるため、分析業務の効率が格段に向上します。まずは小さなテーブルで接続を試し、慣れてきたらカスタムクエリやスケジュール更新を活用してみてください。また、スプレッドシートのピボットテーブルやグラフ機能と組み合わせることで、BigQueryの生データをそのまま可視化できるようになります。ぜひこの機会に、Connected Sheetsを日々のデータ分析ワークフローに取り入れてみてください。


ADVERTISEMENT

この記事の監修者
✍️

超解決 第一編集部

疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。