
【マーケ担当者向け】0からのBigquery&SQL
はじめに
社内の各種データ(売上データや顧客データなど)がBigqueryに格納されている企業も多いのではないでしょうか。
データの利活用をマーケ担当者が直接的に行う機会も増えてきていると思います。データエンジニアやデータアナリストがいたりBIツールが活用されていれば楽にデータ分析を行うこともできると思いますが、そうでない会社も多いハズです。
そこで、本記事では初心者むけにBigquery利用向けの説明を書いていきます。
想定する読者
マーケ担当者でSQLなにそれ美味しいのレベルの方。
なので、用語などを含めわかりやすくしている関係上実際の意味・定義とずれてるところもあると思いますのでご容赦ください。
書き終えてから気が付きましたが、スペルミスをしてたりするのもご容赦ください。
よく使う用語
テーブル:データが格納されている場所
スキーマ:テーブルの設計がわかる情報
カラム:Excelでいうところの列。
バッククォート:「`」シングルクォートと似てますが全然違います。windowsのキーボードだと数字の7らへんにある、shift押しながら打つキーです。
シングルクォート:「'」バッククォートと似ていますが、全然違います。windowsのキーボードだと@らへんにある、shift押しながら打つキーです。
ダブルクォート:「"」
NULL:ヌル。なにもないこと。空白ですらないので要注意。
覚えておくと良いお作法
チームとか人によって結構異なりますが、「共有する人たちがわかりやすいルール」を設定してSQLを書くとよいでしょう。
例)あくまでも一例です
・文字列はダブルクォートではなく、シングルクォートでくくる
・テーブルはバッククォートでくくる
・エイリアスはローマ字ではなく英単語を利用する
・集計値(sumとかcount)は接尾で_sumや_cntをつける
0章A BigQuery 環境構築
会社の環境で利用できれば一番いいですが、そうでない方も一定数いると思うのでざっくり環境の用意について。
GCP(GoogleCloudPlatform)を利用する方法を紹介します。
GCP アカウントの作成
GCP を利用するには、まずアカウントが必要です。以下のリンクからアカウント作成画面にアクセスし、必要な情報を入力してアカウントを作成してください。
https://cloud.google.com/apigee/docs/hybrid/v1.8/precog-gcpaccount?hl=ja
プロジェクトの作成
GCP では、プロジェクトという単位でリソースを管理します。以下の手順でプロジェクトを作成してください。
GCP コンソールにアクセスします。
左側のナビゲーションメニューから [IAM と管理] > [プロジェクト] を選択します。
[プロジェクトの作成] をクリックします。
プロジェクト名、組織 ID、場所を入力します。
[作成] をクリックします。
BigQuery API の有効化
BigQuery を利用するには、API を有効化する必要があります。以下の手順で API を有効化してください。
GCP コンソールにアクセスします。
左側のナビゲーションメニューから [API とサービス] > [ライブラリ] を選択します。
検索バーに "BigQuery" と入力し、検索結果から [BigQuery Data API] を選択します。
[有効化] をクリックします。
Bigqueryのコンソールは下記からアクセスできます。
コンソールの「SQLクエリを作成」または「+」をクリックするとSQLエディタが開きます。

実行する際は、作成したプロジェクトを選択して行います。

サンプルデータの準備
1.エクスプローラ横にある追加をクリック

2.ファイルのアップロード
手元にあるデータで試していただいてもいいですが、データが無い方向けに用意したデータを利用する場合は「Googleドライブ」をクリック。
手元にあるデータを利用する場合はローカルファイルをクリックするとCSVファイルのアップロードが行えます。
他のデータベースに接続などもできますがここでは割愛します。

下記の感じで入力します。
スキーマは自動検出にチェックをいれてください。
詳細オプションの中にある「スキップするヘッダー行」は、データのファイルに見出し行がある場合は1をいれてください。
私が用意したファイルは全て見出し行があるので1をいれます。

プロジェクトは作成済のプロジェクトを参照→選択してください。
データセットは未作成であれば、新しいデータセットの作成をクリックして下記のように入力してください。
構造として
プロジェクト>データセット>テーブル
みたいになっているので、データセット=テーブルが集まっている箱程度に覚えておくと良いと思います。

これを下記の3URL行ってください。
■salse_data:店舗別売上
Date:日付
Store_ID:店舗id
Salse_Amount:売上額
Salse_Count:販売数
■stores_data:店舗情報
Store_ID:店舗id
Store_Name:店舗名
Manager_ID:店長id
■staff_data:スタッフ情報
Staff_ID:スタッフid
Name:名前
Years_of_Service:勤続年数
データが入力されると画像のようになります。

0章B Bigquery操作の基本
コンソールとエディタ画面の説明をざっくりします。

左上:プロジェクトの選択
複数プロジェクトを作成している場合はここで選択します。
左 :エクスプローラ
テーブル名の一部からテーブルを検索したり、一覧から選んだりできます。
右 :SQLエディタ
実行するSQLをここに記入します。
エクスプローラ

それぞれ実際にクリックしていただくとわかりますが、
「開く」「新しいタブ」「タブを分割」
スキーマがエディタエリアに表示されて見れるようになります。それぞれ表示する場所が若干異なります。
「クエリ」
エディタエリアが、テーブルが入力された状態で表示されます。
「IDをコピー」
(プロジェクト.データセット.テーブル名)がコピーされます。
例:project.dataset.table_name
SQLエディタ

「実行」
書いたSQLを実行するボタンです。
「保存>クエリを保存」
書いたSQLを保存します。
「展開>クエリを整形」
書いたSQLにインデントをつけます
「このクエリを~~~」
この箇所には書いたSQLを実行した場合にスキャンするデータ量が表示されます。構文に間違いがあれば赤字表記でエラー内容が表示されます。
英語で表示されますが、翻訳すればだいたい修正ポイントがわかります。

「結果」
実行結果が表示されます。
「結果を保存」
下記のように様々な形式で実行結果を保存できます。
CSV(ローカルファイル)の場合、文字コードがUTF8というExcelでそのまま開くと文字化けしてしまうものになります。※一工夫すれば開けます
結果が少量であればクリップボードにコピーをして、Excelに貼り付けると良いと思います。

他にも
機能やポイントはたくさんありますが、頻繁に使う・便利なのはご紹介したあたりです。慣れてきたら他の箇所も操作してみてください。
1章 SQL入門
ここから先は
¥ 300
この記事が気に入ったらチップで応援してみませんか?