GoogleDataPortalの使い方

# GoogleDataPortal
DB〜スプレッドシートまで、いろんなデータソースを元にグラフ化・可視化するためのツール。
もっぱら弊社ではMySQL DBの実績可視化ツールとして使用中。

Googleスライド＋グラフ化するための設定UIがついてる感じ。

DataStudioから名前が変わったらしい。アドレスは変わってない。
https://datastudio.google.com/

# 使えるようになるとここが嬉しい
- URLでデータ共有できる
  - CSVなど、各種データでのダウンロードにも対応。 
- 毎日の実績をブラウザで確認するだけでよくなる
- 一回作ってしまえば、「△△の期間の○○データ出しといて」という依頼を無くすことが出来る
- 単純に日々の実績が見れて楽しい


# 概念
## データソース
- クエリ本体
- MySQLを使う場合、必要なテーブルのデータを結合したもの
  - 認証＋select文のデータ 

## レポート
- グラフを画面上に表示するファイル
- データソースをレポートに紐付けることで、データを可視化する
  - 棒グラフ、折れ線グラフなど、表示部分の制御はレポート側で行う 

# 基本的な使い方
- データソース作成とレポートへの関連付けを行ったり来たりする。
- 必要なデータソース作成が一通りできれば、レポート画面での表示の制御だけに専念できる。

# データソース作成
## 新規作成
-  データポータルのホーム画面の「データソース」をクリック → 右下の「＋」ボタンから新規作成
-  または、レポート画面から、「リソース」→「追加済みデータソースの管理」→「データソースを追加」

## MySQL認証
- いろいろ選択肢があるが、MySQLを選択
- 認証情報を入力するので、IP、ユーザー名、パスワードを入力
- 「認証」をクリック

## クエリ作成
クエリはグラフ作成に必要なものを適宜作成する。汎用的なものを作ろうとするよりも、そのグラフに必要なテーブルの結合のみに絞った方が良い（と思う）

-  「テーブル」と「カスタムクエリ」を選択できるので、1つのテーブルを選択するのみで良かったら、テーブルから選択
  - 複数のテーブルを結合したデータソースがほしいなら、カスタムクエリでselect文を書く
-  テーブルを1つでも結合すると、重複したカラム名が指定されているとエラーになるため、適宜asでリネームする（id, created_at, updated_atはリネーム必須！）
  - ここの名称がレポートを作る際にそのまま使われるので、offerのidは offer_id, companyのidはcompany_idのように、 リネームしておくと、後々便利。
- フィルタリングはレポート画面側で行うため不要。必要なデータの結合だけで良い。

# レポート作成
## グラフ設定
### グラフ挿入
ツールバーから 挿入 → グラフを選択する。そのままだと空の状態。

### ディメンション設定
#### 期間のディメンション
グラフの期間（横軸）の基準となる日付の値が入ったカラムを指定する。created_at など。

#### ディメンション
期間のディメンションとは別に「ディメンション」が表示されている場合、そちらにも同様に指定する。
スコアカードなど、一部のグラフでは設定自体が存在しない（期間別で出せないため）

カレンダーマークの部分をクリックすると詳細設定が出来る。
「次の表示に変更」の箇所の「自動」を適切な単位に変更する。

例えば、今月のデータを可視化する場合、日単位で集計した件数をグラフ化することになる。
12月1日は100件、12月2日は120件など。
その場合、時間のディメンションの設定は「自動」でよい。
デフォルトだとディメンションで指定した日付を元に、1日単位で集計してくれるため。

今年のデータを可視化する場合、月単位で集計した件数をグラフ化したいと思うはず。
1月は1000件、2月は2000件など。
その場合、時間のディメンションの設定は「年、月」となる。
年に関係なく、全データを各月のデータとしてまとめたい場合は「月」を指定することになる。

年別で出したい場合は「年」になる。
2018年は10000件、2019年は15000件など。

という感じで、集計する期間に適切な単位を指定する。
例で出した単位の対応関係になると思う（年間のグラフを出す時に日ベースの集計結果で表示することも出来るが、細かすぎる）

### 指標の設定
指標に、集計するカラムを指定する。件数の場合はid, 売上などの合計の場合は、金額のカラムなど。
計算方法は指標左側のボタンで選択できるので「合計」や「件数」を選択する。また、選択画面内で項目名も編集できるので、ラベルを変えたければここで変更する。

### 日付範囲の設定
デフォルトの日付範囲を指定する。絶対指定もできるが、「今年」「今月」「今日」「今年はじめから今日まで」あたりを指定していれば、日付が変わるたびにちゃんと新しい期間で集計してくれるので便利。
  - グラフに対して「期間」のパーツをグループ化する場合、そちらで定義するため「自動」にしておけばよい。
  - 基本的に1つのグラフには「期間」のパーツをグループ化して、可変にした方が良いと思う（後述）。 
- 必要があれば、比較期間も設定する。基本的に上の設定にかかわらず「前の期間」を選んでおけば、「今年」の場合は「去年」、「今日」の場合は「昨日」など、いい感じにしてくれる。

### 期間指定
- 挿入 → 「期間」から期間のパーツを挿入する
- command + クリックでグラフと、期間のパーツを選択し、「配置」→「グループ化」でグループ化（ショートカットCommand + G）
- 期間のパーツをクリックし、デフォルトの日付範囲を指定する
- グラフ側の日付範囲が「自動」になっていれば、指定した日付範囲が適用される

### フィルタリング
- フィルタを指定して、特定の条件を満たすデータだけを抽出できる
- 「一致条件」と「除外条件」で指定できるので、抽出したいものを直接指定したければ「一致条件」、抽出したくないものを指定したければ「除外条件」を指定する
- 一致条件の場合、条件に一致するものが抽出できる。
- 除外条件の場合、条件に一致するものが除外される。
- 1つのフィルタに複数の条件をつないで書くことが出来る
- 1つのフィルタに1つの条件にするか、1つのフィルタに複数の条件を含めるかはケースバイケース
  - 複数のグラフで同じ複合条件を使用する場合、後者の形の方が便利。
  - 前者の方は、他のフィルタと組み合わせやすい。

## グラフの表示の調整
### 日付のグループ化
- 自動設定のままだと、1年間のデータを表示しているのに、1日毎のデータをまとめていて見栄えやまとまりが悪いことがある。
- 「時間のディメンション」の左側のカレンダーマークをクリック。
- 「次の表示に変更」の部分を変更する。月間表示の場合は、「日」、年間表示の場合は「月」を選択するときれいにまとまる。
- 他の選択肢も集計期間などに応じて使い分けると良い。

### デザイン
-  グラフをクリックし、右側の「スタイル」タブからいろいろいじれる。
- 累計、ポイント表示、データラベル表示が結構使用頻度高い。
- 他もポチポチしてればだいたい分かる。

## 使い回し
- 毎回挿入からグラフを作るのは面倒なので、1回作ったひとまとまりをコピーして貼り付け → 期間やデータソースを変えたりすると効率良く作れる
- 1ページ作ったら、「ページの複製」でまるごと複製すると、別軸での分析は超簡単

# 外部リンク
- [データポータル](https://datastudio.google.com/u/0/)
- [ヘルプ](https://support.google.com/datastudio/answer/6283323?hl=ja&ref_topic=6267740)