LookerとBigQuery連携の使い方!IT初心者がグラフ可視化するところまでやってみた

LookerとBigQuery連携してグラフの可視化までやってみました
2022.08.12

こにゃにゃちは!
稀代の豚骨ラーメンコラムニスト改めIT戦闘力3の國崎です。

ラディッツにも鼻で笑われるIT戦闘力の私ですが、クラメソに入社した以上いつまでもこのままでいるわけにもいかず、最近はIT戦闘力向上のため細々と色々な技術習得に励んでいます。

今回は元々エンジニアでもないITに疎い私がBigQueryとLookerを連携してグラフを可視化させるという、Looker始めたての非エンジニアの方にとっては「こういうの欲しかったねん」と思われる(と確信している)記事を上げさせていただきます。

この記事は主に以下のニーズを満たす内容となってます。

  • Lookerアカウント作ったけどそもそも操作がわからん!
  • BigQueryにデータはある!
  • とりあえずグラフの可視化までの手順を知りたい!

完全な初心者向けの内容となってますので、既にゴリゴリLooker使えてるという方はとりあえず記事のシェアだけしていただき、スクロールはここまででそっとタブを閉じてもらうことをおすすめします。
それでは早速「BigQueryとLookerを連携してグラフ可視化する」の手順をお伝えしましょう。

事前に今回取り扱うデータとゴールをチェック

諸々の手順を知らせる前に今回取り扱うデータとゴールを改めて確認しましょう。

BigQueryにあるデータ

①sales.csv(購買データ)

  • order_id…注文ID
  • user_id…顧客のID
  • product_id…商品のID
  • date_time…購買日時
  • quantity…購入個数
  • revenue…価格
  • is_proper…割引商品か否か

②customers.csv(ユーザーデータ)

  • user_id…顧客のID
  • name…顧客の名前
  • gender…性別
  • prefecture…都道府県
  • register_date…会員登録日
  • is_premiunm…ロイヤル会員か否か

ゴール

男女別の売上が分かるグラフを作る

俺ならやれる!やれるはずだ!

まずはBigQueryにデータを突っ込む

え?BigQueryへのデータの入れ方はわかってるって?
まーまー、ここから手順を公開させてくださいよ。

まずはデータセットの隣にある3点リーダーをクリックしテーブルを作成。
データ取り込み

今回はローカルにあるデータをアップするのでテーブルの作成先をアップロード→ファイルを選択でローカルデータを選択→テーブルで名前を作成→スキーマの自動検出を選択→詳細オプションでスキップするヘッダー行1を設定してテーブルを作成をクリックします。
データ取り込み2
データ取り込み3

はい!これでデータセットの中にcustomerssalesのテーブルができました。
データ取り込み

BigQueryのデータ取り込みは上記で完了ですが、Lookerと連携する際はさらに追加でBigQuery側での作業が発生します。
そちらの手順は以下です。

左上のハンバーガーメニューをクリックし、IAMと管理>サービスアカウントをクリックします。
サービスアカウント

以下のようにサービスアカウント名、ID、説明の欄が出るのでそれぞれ入力し作成して続行を押します。
(私は説明の入力は割愛しました)
サービスアカウント

ロールのところではBiqQueryデータ編集者BiqQueryジョブユーザーを選択します。
サービスアカウント

メールが生成されます。
このメールはLookerとの接続時に使用します。
サービスアカウント3_a

メールが作成されたら右側の「操作⇨鍵を管理⇨鍵を追加⇨json⇨作成」をします。
サービスアカウント

Lookerでの操作

さぁ、そしてLookerを操作します。
IT初心者の皆さんはLookerにログインしましょう。
(まさかアカウントない状態でここまで読んでる人いないよね、、?)

ここでは一旦日本語化した状態での操作を説明しますので、「あれ、言語が違うやん」という方は以下記事を参考にしてください。

日本語化したら、最初に画面左下のボタンで開発モードにします。
開発モード

BigQueryと接続

BigQueryで諸々設定したProjectIDやDatasetを入力します。
BigQueryの画面を閉じてしまったという方は別タブで開いておきましょう。

管理をクリックし出てくる左メニューで接続を選択。
右上のAdd Connectionで以下Connection Settingsが出てくるので、それぞれ入力します。
コネクションセッティング
コネクションセッティング2

入力が完了とするとConnectionsに追加されます。

ビューとモデルの作成

Connectionsに追加されたら次は上のメニューの開発>LookMLプロジェクトの管理でLookML Projectsに飛びます。
New LookML Projectをクリックし、新しいプロジェクトを作りなっちゃブル!

今回の作業ではテーブルからビューを作成するので、Starting PointはBlank Projectにしときます。
newproject

できたプロジェクト内のファイルブラウザの横にある+をクリックし、テーブルからビューを作成するをクリックします。
テーブルからビュー作成

すると、BigQueryのテーブルからこんな感じでデータが引っ張ってビューが作れるんですよ。
Create Views from Tables

もうあっという間にビューができましたね、はい俺すごい。
ビュー作成

そしてビューの次はモデルを作成します。
モデルもビューの時同様にファイルブラウザの横にある+をクリックし、モデルの作成をクリックします。
名前を入力して作成されたモデルの初期画面がこちら。
モデル作成

モデルとはLookerのエクスプローラーでどんなデータを使うかを調整するところなので、ここで以下の記述を書き込みます。


connection: "bigquery-20220805-kunisaki"
label: "kunisaki-test"
include: "/views/*.view.lkml" 
explore:  customers {
  label: "kunisaki-test-cusale"
  join: sales {
    type: left_outer
    sql_on: ${sales.user_id} = ${user_id} ;;
    relationship: one_to_many
  }
}

labelでエクスプローラーの名前をつけて、explore内に今回引っ張ってきた①sales.csv(購買データ)②customers.csv(ユーザーデータ)の結合を書きます。

Exploreでグラフを可視化

モデルとビューの作成が終わったら左メニューからExploreに遷移します。
検索窓にモデルで記述したlabel名を打ち込むと、たくさんある中からすぐに検索できます。
label

さて、いよいよフィナーレです。
自分で絞り込んだlabelを開いたら左項目のCustomers>Gender、Sales>Total Revenueを選択します。
勘のいい方は気づいたかもしれませんが、これで男女別の総売上が出せるわな!
実行したら出ました!
男女別売上

ビジュアリゼーションで棒グラフ化するとこんなグラフにも!
ちなみに2は女性で、1が男性です。
男女別売上2

とまぁ、こんな感じでIT初心者でもLookerでデータのグラフ化、可視化ができました。
これくらいできればラディッツに鼻で笑われることもなくなりそうです。
次はナッパあたりを目指して精進します!

ナッパ!俺の言うことが聞けんのか!!!