Bigqueryからエクスポートして集計可視化する4つの方法

Bigqueryに日々蓄積されてくデータを非エンジニアでも可視化集計できたらいいですよね。
集計結果を可視化するとなるとBIツールやExcelピボットテーブルを思い浮かべると思います。

今回はBigqueryから集計結果を可視化するための方法を4つ紹介します。

それぞれの方法の特徴とメリット/デメリット

Google スプレッドシート

Bigqueryとスプレッドシートを接続する方法はいくつかありますが、最も手軽かつ確実なConnected Sheetsを使ってBigqueryを直接スプレッドシートに接続するのがよいでしょう。

この方法ではデータ処理や計算はBigqueryで行い、集計結果のみをスプレッドシートで表示しているため、高速処理されるのが魅力です。

「利用できるのはGoogle WorkspaceのEnterprise plusエディション以上」と説明していることもありますが、2022年6月現在ではGoogleアカウントがあれば誰でも利用可能です。

厳密には以下4つの条件を満たしている必要があります。

  • Google Cloud Platform にアクセスできる
  • BigQuery にアクセスできる
  • 連携するBigQueryプロジェクトに請求先情報が設定されている
  • BigQuery テーブルまたはデータセットにアクセスするために必要な権限とロールがある

メリット

  • スプレッドシート(Excel)の操作感や見た目に慣れていると取っ付きやすい
  • グラフ、ピボットテーブル、関数をスプレッドシート上で手軽に扱え可視化できる
  • スケジュール化することで自動更新・同期可能

デメリット

  • プレビューでは500行しか表示されない
    ※「抽出」をすると最大25,000行までは表示できるが、それ以上は不可
  • 計算するたびにbigqueryのクエリ発行料金がかかる
  • スプレッドシート特有の表示の癖がある
    ※ピポッドテーブルを表示すると画面右側に大きくエディタが表示されるが、非表示にできないため邪魔に感じる

KNIME

無料ETLツールの”KNIME”と接続する方法をご紹介します。
このツールは初期設定では英語表示ですが、日本語化パッチがあります。

Bigqueryとの接続方法はこちらの記事をご覧ください。

メリット

  • GUIで非エンジニアでも自由に加工集計できる
    ※先に紹介したスプレッドシートでも抽出やフィルタはできるけれど、より高度なデータ加工処理するならKNIMEに優位性がある
  • ローデータのプレビュー表示が容易

デメリット

  • 最終的な可視化や共有にあたってcsvやほかの形式で出力する必要がある
  • スプレッドシート出力に比べると手順がやや複雑化する
  • Bigqueryのデータに更新を反映させるのに都度読み込みが必要
    ※batファイルを作成した自動化も可能ではある

Google データポータル

Googleが提供しているBIツールであるGoogleデータポータル(旧データスタジオ)へBigqueryのテーブルまたはクエリ結果を連携し可視化することもできます。

メリット

  • データポータルの機能に慣れているならば、そのままダッシュボードを作成することで可視化される
  • Google Analyticsや他のcsvと連携させて様々なデータが一望できる1つのダッシュボードをつくれる

デメリット

  • 生データは見られない
    ※データポータル内のグラフをcsvとして出力はできる

直接csv出力

最後にBigqueryの管理画面からクエリ結果を直接csvファイルとして出力する方法をご紹介します。

Bigqueryはクエリ結果の出力先が複数ありますが、いずれもデータ容量に制限があり
csvファイルをGoogleドライブに出力すると最大の1GBで抽出できます。

Bigqueryのクエリ結果エクスポート先一覧
Bigqueryのクエリ結果エクスポート先一覧

メリット

  • KNIMEでも同様の処理ができるが、Bigquery内で完結しているし作業が単純

デメリット

  • あくまでクエリ結果を出力するため、SQL文を書く必要がある
  • bigqueryはUTF-8しか対応していないため、出力後マルチバイト文字が文字化けする
  • 1GBを超える分は抽出できない
  • Google Cloud Strageを経由する方法もあるが、他の方法と比べて手間がかかる

まとめ

4つの方法の中から以下のような基準で選んでみてはいかがでしょうか。

【できるだけシンプルな手順で集計したい】
→Google スプレッドシート

【担当者も状況に合わせて都度手元でデータ加工したい or ローデータを常に見たい】
→KNIME

【様々なデータを集めて一度に可視化したい】
→Google データポータル

【Google Driveにデータを格納したい】
→直接csv出力

目的や担当者のスキルに応じて、最適な方法を採用しましょう。

コメントを残す