【Salesforce】CRM Analyticsを使用してコーディングせずに検索画面を実装する

この記事は、[エムスリーキャリア Advent Calendar 2022](https://qiita.com/advent-calendar/2022/m3c) の14日目の記事です。

## はじめに

こんにちは。エムスリーキャリア 戦略推進チームの本間です。戦略推進チームは社内システムの基盤開発を行うチームです。

エムスリーキャリアでは社内システムの一部としてSalesforceを利用しております。
今回は、SalesforceのCRM Analyticsを利用して検索画面を実装するお話しをしたいと思います。

## Salesforceの検索画面の実装
Salesforceで検索画面を実装しようとするとApexとVisualForceを利用して、コーディングする必要があります。CRM Analyticsを利用すると、コーディングせずに実装することが可能です。

### 完成イメージ

![CRM_Analytics___Salesforce_-_Google_Chrome_2022-12-13_11-27-20.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3035839/078a664c-a905-e6fb-f94f-56f6238612d7.gif)

## 前提

CRM Analyticsの権限が付与され、有効化されている前提で進めます。利用するオブジェクトはテスト用に作成した「取引先」オブジェクトを使います。

## 手順

### データセットの作成

今回の例では単一のオブジェクトデータを加工せずに出力するため、データセットを作成する必要はありませんが、データセットの手順を踏んでみたいと思います。
データセットの作成方法は「データフロー」と「レシピ」の二種類がありますが、ここでは「レシピ」を利用します。

データマネージャを開き、データフローとレシピから「レシピを作成」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3035839/4de3f140-2f62-c434-098d-9234e1866d60.png)

「入力データを追加」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3035839/0227b6d9-0a0e-280d-c9ec-1762ebd85947.png)

対象のオブジェクトを選択し、「次へ」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3035839/ceb5436f-d71b-4b99-222b-97951dbf2baa.png)

オブジェクトの＋アイコンをクリックし、「出力」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3035839/f892d69a-3cf9-5ce1-44db-84788a29f448.png)

「書き込み先」「データセットの表示ラベル」「データセットAPI参照名」「アプリケーションの場所」を設定し、「適用」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3035839/f0c15c04-dfb0-4087-f5b4-451ff7bcee7f.png)

「保存して実行」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3035839/354aedb0-38aa-ac4d-dcda-0573779cc442.png)
    
レシピ名を入力し、「保存」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3035839/9c3e12eb-33e9-776f-a479-4d20dadb0de6.png)

### ダッシュボードの作成

#### 空のダッシュボードの作成
「作成」ボタンを押し、「ダッシュボード」を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3035839/4d254387-fb08-464a-3350-1a8982731bdb.png)

「空白のダッシュボードを作成」を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3035839/cd1100ad-7165-826e-7fad-4f35f9b0d1c7.png)

#### 取引先リストのクエリの作成

画面右上の「クエリを作成」ボタンをクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3035839/0e1c8cdc-2dc9-fc9e-dcf0-f3385aa320d6.png)

作成したデータセットを選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3035839/23e9636c-46f2-a204-e0f5-080229866aa7.png)

「テーブルモード」をクリックし、「値テーブル」を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3035839/88664cc5-9cc0-dc57-7033-286e23c6e256.png)

左メニューの鉛筆マークのボタンから列を追加し、「完了」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3035839/dea3de98-5718-7690-e1cb-9feeeb336198.png)

#### 都道府県ごとの件数を集計したリストの追加

都道府県ごとの件数のリストを追加します。追加したクエリの「＋」ボタンをクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3035839/f5af4860-0156-2fc8-2c6f-ccb0a891edc8.png)

「テーブルモード」をクリックし、「ピボットテーブル」を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3035839/4c95e64a-af0c-6c66-c7f4-ebef6c5b4b1d.png)

グループ化単位の「＋」ボタンをクリックし、「都道府県」を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3035839/b0708c47-962c-fcc8-7deb-651b495650de.png)

件数の多い順に並び替えておきます。列「行 計数：」の▼ボタンをクリックし、「降順に並び替え」を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3035839/dcc04977-89c2-6cd2-6c9c-3931b47120c1.png)

「完了」ボタンをクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3035839/2b807b74-cb48-f64b-dcb1-10a942579301.png)

#### 表示件数を追加

「123」アイコンをドラッグ＆ドロップします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3035839/e233cda8-45a5-8358-fde1-b16486717e63.png)

ドラッグして大きさを調整し、「123 数値」のラベルをクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3035839/3d84676e-4966-a3ec-99f5-79599dfe8c2d.png)

「完了」ボタンをクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3035839/6fe6409a-2bae-51b2-4206-cfa10a51d9ca.png)

「タイトル」を入力します。ここでは「取引先件数：」とします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3035839/4a990f82-906f-6fac-8086-89ce7d4a96c2.png)


#### 都道府県リストの追加

作成したクエリの「都道府県」をドラッグ＆ドロップします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3035839/9b5a0685-22dd-8f68-e0b1-9498ec54a412.png)

ドラッグして大きさ調整します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3035839/59e834b5-7a67-ae72-bc12-5d74936398e5.png)

#### 取引先リストの追加

作成したクエリの「取引先リスト」をドラッグ＆ドロップします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3035839/50b1dee6-b47d-fd50-e22b-201ad9bd4d5a.png)

ドラッグして大きさ調整します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3035839/2b5b2c2a-ae4a-5275-23f4-0e7b7b47a66b.png)

#### ダッシュボードの保存

保存ボタンをクリックして、設定を保存します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3035839/1e780cb2-26c2-3c08-a627-0dee1f0f8490.png)

「名前」「アプリケーション」等を入力し、「保存」ボタンをクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3035839/8cfb104b-afc1-a379-6e3f-a9e76289fefd.png)

以上でダッシュボードの完成になります。

## さいごに

最後まで読んでいただきありがとうございます。

私たち戦略推進チームは、社内システムの基盤開発を通して、医療業界や事業の課題に向き合っています。エムスリーキャリアでは積極的にエンジニアを募集しておりますので、もし興味をお持ちであれば、ご応募お待ちしております。

明日以降も [エムスリーキャリア Advent Calendar 2022](https://qiita.com/advent-calendar/2022/m3c) は続きます。引き続きお楽しみください。