Connected Sheets で始めるデータ分析

記事タイトルとURLをコピーする

こんにちは、6月にG-gen にJoinした又吉です。 今回は、 Google Workspace の全エディションにおいて無償で利用可能な Connected Sheets をご紹介します。

Connected Sheets とは

Connected Sheets とは、 SQL の知識がなくても Google Sheets (以下 Google Sheets 又はスプレッドシート) 上で、 BigQuery に保存されているビックデータへのアクセス、分析、可視化、共有を行うことができる Google Sheets の拡張機能です。

通常のスプレッドシートでは、1,000 万セルまたは 1 万 8,278 列(列 ZZZ)までの制限があるため、1,000 万セルを超えるビックデータの分析には適していません。

しかし、BigQueryなどのDWHでビックデータを分析するとなると、SQLの知識が必要不可欠です。

そこで SQL を使わずエクセルライクに、ビックデータ分析 したい方や 簡単な集計はスプレッドシート上で済ませたい 方などにオススメなのが Connected Sheets です。

前提条件

Connected Sheets を利用するためには Google アカウントが必要です。

また、 BigQuery API が有効化された Google Cloud プロジェクトが必要になります。

料金

Connected Sheets 自体は 無料 です。

従来は Google Workspace の Enterprise エディションが必要でしたが 2022 年 6 月より個人用の無償 Gmail アカウントを含む 全エディション で利用可能になりました。

Connected Sheets 自体は無料*ですが、以下の課金は発生することにご留意ください。

  • BigQuery のストレージ料金
  • BigQuery のクエリ料金

BigQueryの料金については、以下の Google Cloud 公式ページを参照ください。

cloud.google.com

アクセス制御

Connected Sheets で表示するデータは参照元の BigQuery データセットに存在するため、利用者の Google アカウントで BigQuery の対象データセットに対するアクセス権限が必要です。

利用者 Google アカウントと Google Cloud プロジェクト / BigQuery データセット (もしくはテーブル) の適切な権限紐づけが必要です。

以下の Google Cloud 公式ページを参照ください。

support.google.com

実際の Connected Sheets 利用方法

セットアップ

今回扱うデータは、BigQueryの一般公開データセットにある「アイオワ州の酒類購入情報」(アイオワ州の公式資料より)から取得したいと思います。 まずは、新規のスプレッドシートから、[データ]→[データコネクタ]→[BigQueryに接続]をします。

接続先の情報を入力します。

[対象のGoogle Cloudブロジェクト]→[公開データセット]→[iowa_liquor_sales] →[sales]→[接続]

今回接続したデータは2,399万行24列(約5.8億セル)のビックデータになりますが、ほんの10秒程度で表示できました。

操作方法

スプレッドシートでデータを分析するように、列データをもとに昇順/降順での並び替え、条件でフィルタをかけたりすることができます。

また、赤枠にある各種項目でグラフを作ったり、ピボットテーブルでデータを形成したり、より柔軟な分析ができます。

一つずつ簡潔に説明していきます。

グラフ

グラフを用いるとデータを容易に可視化できます。 グラフの種類も折れ線、縦棒、円、散布図、地図などから選択できます。 以下は都市別の売上をグラフ化してます。

ピボットテーブル

ピボットテーブルは柔軟に分析ができるので、中でもよく使う分析項目かと思います。 こちらの例では月別の売上を表示させてます。

右側のエディタから表示させたい行、列、値を選択し、グループ化やフィルタなどの条件もスプレッドシートの操作感で行えます。

実際に裏ではこのような感じのSQLに変換され、BigQuery側で処理されています。

Connected Sheetsを用いることで、SQLを打たずにビックデータの分析ができるのは魅力的ですよね。

関数

関数はスプレッドシートで普段使うような集計関数などが利用できます。

抽出

抽出は見たい列だけを表示できる機能です。SQLで言うSELECT句のような役割です。

計算された列

計算された列は、任意の列に対し関数を組み込んで新しい列を作成できます。 以下は、sale_dollars列に対し130を掛けて、japanise_enという新しい列を作成しました。

列の統計情報

列の統計情報は、任意の列情報を表示してくれます。 以下は、city列の統計情報を表示してます。 一意の値がどれくらいあるのか、出現回数が最も多いのは何なのかなど、ぱっと調べたい時に有用ですね。

データの更新

BigQuery データと Connected Sheets の同期は 手動更新 または 自動更新 から選択できます。

手動更新は Connected Sheets の画面左下から選択できます。

プレビュー内容の手動更新

また、自動更新の単位は1時間・1日・1週間・1ヶ月から選ぶことができます。

自動更新は Connected Sheets 上部の更新オプションを押下

自動更新の更新オプション

画面右側の更新スケジュールより、「繰り返す間隔」「開始日」を選択し保存します

更新スケジュールの設定

注意点としては、更新するたびに裏で BigQuery に対してクエリが投入されるので、更新頻度が高いとその分、クエリ料金が高くなります。

必要最小限の頻度でのデータ更新をオススメします。

又吉 佑樹(記事一覧)

クラウドソリューション部

はいさい、沖縄出身のクラウドエンジニアです!

前職はSIerテクニカルセールス。Google Cloudの魅力に惚れ、技術を突き詰めるべくG-genのエンジニアとして2022年6月にJoin。Google Cloud認定資格は現在7冠。最近興味のある分野はサーバレス。