Looker Studio の行レベルのセキュリティが便利です

# はじめに
[Looker Studio](https://cloud.google.com/looker-studio)とは、GoogleCloud のBIツールです（以前はデータポータルという名前でした）。 
BigQuery や Spreadsheetなど様々なデータソースをもとにおしゃれなレポートを無料で作成・共有できます。
下図はテンプレートギャラリーのスクショです。こんな感じのレポートが簡単に作れるようになっています。
~~厨二心をくすぐられますね。~~
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/220881/2df70134-7dae-2e57-1cd0-3667adc9083a.png)


# 行レベルのセキュリティとは
レポートを作成する際に行レベルのセキュリティを設定すると、**同じデータソースから作成したレポートでもアクセスするアカウントによって表示するデータを変更すること**ができます。

[公式の説明](https://support.google.com/looker-studio/answer/9713766?hl=ja#zippy=%2C%E3%83%A1%E3%83%BC%E3%83%AB%E3%83%95%E3%82%A3%E3%83%AB%E3%82%BF%E3%81%AE%E4%BE%8B)を引用しますと、下の画像の上段はとあるSpreadsheetの表、下段はそのシートをデータソースとして作成した Looker studio の表です。
この例では行レベルのセキュリティは設定されていません。Spreadsheetのすべての行がレポートに表示されていますね。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/220881/0a5c630b-567e-b08c-fe40-05a07b5df7f8.png)

次に、下図は **行レベルのセキュリティ を設定した場合**です。
上段のSpreadsheetは先程と同じです。このとき、作成したLooker Studioのレポートに「`rick@mycompany.com`」のアカウントでアクセスすると、下段のようにSpreadsheetのB列がそのアカウントのアドレス（`rick@mycompany.com`）となっている行しか表示されません。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/220881/a0d2362c-7026-e072-2bfc-6244f579306f.png)


ちなみに、この設定がされているレポートにアクセスしたときには、以下のようにメールアドレスを提供することに同意を求められます。許可しないと何も見えません（許可は度だけでOK）。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/220881/13569be6-e296-3573-3617-41d383b5e636.png)

# 設定方法
使い方を簡単に説明します。

## データソースを作る
Looker studioと連携可能なサービスを使ってデータソースを作成します。お試しならSpreadsheetが楽だと思います。
例として以下のような表を用意しました。
ここで重要なのはメールアドレスを入力する列を作成することです。ヘッダーは何でも良いです、例ではD列がそれに相当します。
このコミュニティではクリスマスになると送りたい相手にお金を送っているようですね。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/220881/bfb5e1ef-a7c8-48e6-1949-ce4e64edd4ce.png)
※メールアドレスは適当に書き換えています

## レポートを作成してデータソースを連携する
[Looker studio](https://datastudio.google.com/)にアクセスしてレポートを作成します。空のテンプレートでOKです。そのままデータソースを選択する画面になるのでSpreadsheetを選択して、シートの一覧から先ほど作成したシートを選択します。
今回は「自分が誰にいくらもらったかわかるレポート」を作成することにします。何も考えずにメールアドレス以外の列を表示すると以下のようになりますね。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/220881/4e8023ba-1cdb-b249-b5e4-3d53c73f19ae.png)


## 行レベルのセキュリティを設定する
今の状態ですと他の人がいくらもらっているかなど、自分には関係のないお金の流れもわかってしまいます。争いが勃発するかもしれないので**自分が誰にいくらもらったかだけ見えるように**します。
Looker studioのメニューから、`リソース` ＞ `追加済みのデータソースの管理` を選択します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/220881/b5f3e88a-cdc6-830a-f141-488448db9b89.png)

連携済みのソースの一覧が表示されるので「編集」を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/220881/a8ce4534-4fb2-22f6-1322-12fba3a24c98.png)

メールアドレスでフィルタを選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/220881/9d23d1e5-60e1-064a-c2f6-60d3bc4f58b0.png)

回覧者のメールアドレスでフィルタ　をチェックして、使用するフィールドを選択します。これで設定は完了です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/220881/31ed3384-e091-1901-d5cd-7451d0b0a634.png)

# 結果を確認する
試しに「じろう」のメールアドレスでレポートにアクセスすると以下のようになりました。
このように、「メールアドレスでフィルタ」で選択したフィールドに対応するデータソースの列（SpreadsheetのD列）の値が自分のアドレスではない行や値が未入力だった行は表示されなくなりました。平和なクリスマスが過ごせそうですね。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/220881/08f2ab32-651c-7363-3260-f70f9e414727.png)

# まとめ
このように簡単な手順で**同じデータソースから作成したレポートでもアクセスするアカウントによって表示するデータを変更すること**ができます。
弊社では社内向けのアンケートなどで収集したデータ（Spreadsheet）から共通のレポートを作成して、社員ごとに違う結果を表示するなどの用途に使っています。今回紹介したSpreadsheet -> Looker studio の構成であればすべて無料で構築できますし、ちょっとした社内ツールなどを作るときにも便利ですね。