【Looker Studio】はじめてのダッシュボード

## はじめに
先日、初めてLooker Studioでダッシュボードを作成してみました。
始めてみると、思ったより簡単にいろんなことができました！
やったことをまとめてみたので参考になれば幸いです。

## やったこと
・Looker Studio を開く
・データを連携する
・表を作ってみる
・個人情報にマスキングをかける
・条件に当てはまった行は色を変える
・画面上で絞り込み条件を簡単に指定できるようにする
・ダッシュボードからSalesforceに遷移できるリンクを付与する
・ダッシュボードの利用率を上げる工夫

## Looker Studioを開く
今回は**Looker Studio**を使用します。
似た名前のサービスで **Looker** や **Looker Studio Pro** が存在するようですが
これらは利用する際に必要な権限などが異なるようなのでご注意ください。

Looker Studio を開くとこんな画面になります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3929084/ad58a455-230c-40cf-a94e-42314fe30878.png)

真っ白なレポートと、デフォルトでいくつかテンプレートが用意されていました。
**空のテンプレート** を選択するとこのような画面に遷移します。
出てきたパネルからデータの取得元を選ぶことができそうです。

![スクリーンショット 2025-04-08 182355.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3929084/500bfdec-6401-47f2-a542-b4893c9c9808.png)


## データを連携する
ダッシュボードに使用するデータを入れてみます。BigQueryを選択して、使いたいデータが入っているテーブルを選択します。
接続に成功すると、こんな感じでテーブル名とテーブルに含まれるカラムが表示されます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3929084/5b337fdd-3394-4ddd-905f-13691a62668d.png)

## 表を作ってみる
**グラフを追加** を選択すると、どのような形でデータを可視化するか選択できます。
今回は表形式にしてみます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3929084/6d7bedbe-8745-4177-a707-1e45b65e6470.png)

表をページに追加後、右にグラフのメニューが出てきます。
ディメンションや指標にカラム名のパネルをドラッグ&ドロップすると簡単に表に項目を追加することができます

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3929084/89c9ac3e-4ce1-4c64-9aff-ce54e3078bcb.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3929084/8208c09f-1ae8-4180-b593-1de32e46c8cd.png)

## 個人情報にマスキングをかける
ダッシュボードに氏名や会社名、メールアドレスなどの個人情報を扱うケースがあると思います。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3929084/6e2b9cf6-f639-4f1f-8a4e-a3b6c42c9bf9.png)

個人情報はできるだけ減らしたほうが良いため、メールアドレスにマスキングをかけていきます。Looker Studio には **計算フィールド** があり、関数を設定することが可能です。

![スクリーンショット 2025-04-10 130724.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3929084/fbcb87bd-d5b9-42f1-82ea-f8e904412bee.png)

数式フィールドでは、下記のように設定できます。カラム名を変数として利用できるので便利です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3929084/365dd30b-9d29-4df1-a351-84709747d69e.png)

設定を保存すると、新しいフィールドとして **メールアドレス(マスキング)** が表示されます。
これをディメンションに追加すると、メールアドレスがマスキングされた状態で表示されます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3929084/80db4b80-e47f-481e-8f54-6c4bcd515b3d.png)

## 条件に当てはまった行は色を変える
特定の行動が見つけやすいよう、条件に当てはまった行に色を付けます。
今回は、特定のWEBページにアクセスした人を条件に指定します。

表を選択し、スタイル > 条件付き書式 をクリックします。

![スクリーンショット 2025-04-10 132146.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3929084/746b6358-3450-4d5a-b63c-2ff5b0804a01.png)

Excelの条件付き書式と似たことができます。
対象の行を指定し、条件や合致した際にどのような処理を行うかを設定します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3929084/77575ccc-d3c5-410d-a193-8479802b1421.png)

条件に当てはまった行はこのように設定した色がついて見やすくなりました！

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3929084/4f906dae-81b0-4e5d-99ea-562406a43ee7.png)

## 画面上で絞り込み条件を簡単に指定できるようにする
下記のようにプルダウンリストから表示させる要素を絞り込めるとすごくダッシュボードっぽいですよね

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3929084/4fa3f5c6-799b-4e61-8afe-209afca9f7a1.png)


**コントロールを追加** メニューから **プルダウンリスト** を選択します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3929084/92202a0e-a93f-4ed9-930f-f58763a9496f.png)

**コントロール フィールド** に絞り込みに使いたい要素を選択するだけで設定は完了です。

![スクリーンショット 2025-04-10 174617.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3929084/191196a4-96ce-46c1-acd7-61400f83a7da.png)

期間を使って絞り込みを行いたい場合は、同じく **コントロールを追加** から **期間設定** を選択します。
こちらは下記のようにカレンダーから期間を選択できます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3929084/6a17b4b0-c5e0-4c00-901d-8a18730ca2d5.png)

::: note warn
期間設定はデータソースの選択ができません。
ページに含まれるデータすべてに対して範囲指定が反映されてしまうようです。
:::

## ダッシュボードからSalesforceに遷移できるリンクを付与する
ダッシュボードで顧客の行動を確認した後、それに従って営業担当者より連絡することがあると思います。
SalesforceのリードのページへのアクセスURLをダッシュボードに含めておくことで、連絡先や顧客情報を簡単に確認できるようにします。

Looker Studioでは、HYPERLINK関数というものが利用できるようです。

https://cloud.google.com/looker/docs/studio/hyperlink?hl=ja

```
HYPERLINK(URL, anchor_text)
```

Salesforceのリードのページは下記のようにURLの形が定まっています

```
https://example.com/lightning/r/Lead/{Id}/view
```

SalesforceのId情報と、ダッシュボード上で確認したい情報（氏名など）を紐づけることで、 **ダッシュボード上の要素をクリックすることでSalesforceのリードに遷移する** という動作が可能になります。

設定のステップは以下のとおりです。
①必要な情報をSalesforceからBigQueryへ転送する
②Looker Studio でアクセスログのメールアドレスとSalesforceのメールアドレスを紐づける
③HYPERLINK 関数を設定する

::: note info
Salesforceから直接Looker Studioにデータを読み込むコネクタもあるようですが、公式が用意しているものは見つけられませんでした。
そのため、今回は ① のようにデータ転送を実施する方法を使っています。
:::

### ①必要な情報をSalesforceからBigQueryへ転送する
データ転送にはTROCCOを使います。TROCCOでは、下記のように転送対象のオブジェクトと項目を絞って転送することが可能です。
今回はLeadオブジェクトから、Id・メールアドレス・氏名を取得します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3929084/de20d579-c794-4c92-a94c-9f9202b0b4ac.png)

転送結果はこのようになっています。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3929084/c5432d3c-eccb-46a8-a7d5-1a7559b87252.png)

### ②Looker Studio でアクセスログのメールアドレスとSalesforceのメールアドレスを紐づける
Looker Studio で複数テーブルのデータを扱う場合は、テーブルの統合が必要です。

リソースから **統合を管理** を選択します。
![スクリーンショット 2025-04-11 114116.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3929084/d552a399-8303-4e8a-89f2-a0ddc0364295.png)

**統合を追加** を押して、アクセスログのテーブルとSalesforceの情報を入れたテーブルを選択します。また、ディメンションや指標に表で使用したい項目を追加します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3929084/d448d741-93ed-46a9-85ea-9886007c3258.png)

**結合を設定** を選択して、紐づけに利用する項目を指定します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3929084/8fe17f23-b85d-43c7-8ffd-4e66f4b08b1f.png)

保存すると、テーブルが統合されたデータソースが作成されます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3929084/044ebb23-6e57-4077-83a3-bd1296b496c3.png)


### ③HYPERLINK 関数を設定する

HYPERLINK 関数に下記のように設定することで、氏名にSalesforceのハイパーリンクを作成します
```
HYPERLINK(https://example.com/lightning/r/Lead/{Id}/view, {氏名のフィールド})
```

ただ、Id は氏名によって動的に変化させたいので **CONCAT()** を使って下記のように設定します。
```
HYPERLINK(CONCAT('https://example.com.lightning.force.com/lightning/r/Lead/',{Id},'/view'),{氏名のフィールド})
```


作成した統合データをデータソースとした表を作成し、ディメンションから **計算フィールドを追加** を選択します。

![スクリーンショット 2025-04-14 132801.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3929084/2f7d52e5-d94d-491f-ac5f-9230ebd10c37.png)

名前を決めて、計算フィールドにHYPERLINK 関数を書き込み適用します。

![スクリーンショット 2025-04-14 133722.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3929084/c18a54ce-663b-4238-9e00-49cd21d2be60.png)

作成したフィールドがディメンションに追加され、氏名にハイパーリンクが付与された状態で表示されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3929084/a74776d2-4bfd-4bd5-bac4-bf1578ba588c.png)

氏名をクリックすると、SalesforceのLeadのページに遷移します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3929084/ad05b1c7-affe-49d5-8efe-5292cb1b4687.png)

## ダッシュボードの利用率を上げる工夫
ダッシュボードを作ったものの、利用されないというケースはよく耳にします。
より使いやすいものにするため、以下2点を実施してみました。

- 項目の説明や利用用途例をつける
- 利用者に口頭で意見を聞く

### 項目の説明や利用用途例をつける
ダッシュボード内に項目の説明や、利用用途の例をテキストボックスで追加できます。
ダッシュボードに関する不明点を減らすことで、利用率低下の原因としてよく挙げられる **ダッシュボードの内容が理解し難い** を解消することができます。
また、利用用途を書き出すことにより制作者側で **作成用途とダッシュボードの内容にズレがないか** 再確認できます。利用者側でも、**確認すべき指標が明確化**されることで行動に結びつけやすくなります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3929084/7c6ca03e-81f9-4164-a668-500d131827ba.png)

## 利用者に口頭で意見を聞く
作ったダッシュボードは利用者からフィードバックをもらって改善することでより良いものにできます。ただ、社内チャットなどでダッシュボードの存在を周知し、意見を募りましたがなかなか反応をもらいづらかったです。
定例MTGや、利用者に直接聞きに行くなど、顔を合わせて話せる場面では色々意見をもらうことができました。

## おわりに
やり方やできることがわかっていれば、簡単にいい感じのダッシュボードが作れそうです！
特に、**他のページへ遷移するハイパーリンクを作成する** は色々なサービスのページに飛ばせるのでかなり使えそうだなと思いました。

はじめは表の項目を紙に書き出して整理していたのですが、後から追加したい項目がたくさん増えてゴチャゴチャになり **どのテーブルにどの情報入れてるんだっけ？？** **〇〇の情報を追加したい場合はどのテーブルにいれると良さそう？？** を整理するのに時間を取られる場面もありました。

なにか始めたときの後半に毎回わからなくなるタイムを挟んでいる気がするので今後の課題になりそうです。データカタログってこういうときに使うんだろうな～と身を持って感じたので触っていこうと思いました。