テンプレートのしくみについて
学習の目的
アプリケーションが住宅ならば、テンプレートは設計図
テンプレートの開発の詳しい説明に入る前に、アプリケーションとテンプレートの関係がわかるように基本的な設計概念について少しお話します。
住宅の図面がどのように使われるのかはご存知ですよね? 建築家が図面を描くと、建築業者がその基本的な図面を数軒の住宅に使用しますが、それぞれの購入者の希望に合わせて特定の機能を変更します。どの住宅も基本となる図面は同じですが、台所と居間を一続きにすることもあれば、押入れを追加したり、浴室を大きくしたりすることもあります。また、大きな窓にしたり、ドアを増やしたりすることもあります。それぞれ使用する仕上げ材、つまり、屋根板、漆喰、羽目板、レンガ、木製パネルなども多少異なります。
テンプレートも図面と同じような役割を果たします。開発チームがまず、Analytics のデータセット、ダッシュボード、レンズ、レシピ、データフローを結集したアプリケーションを作成します。

同チームが、Analytics テンプレートを使用してこのアプリケーションを基にテンプレートを作成し、そのテンプレートがアプリケーションの設計図になります。アプリケーションの「図面」は、テンプレートオブジェクトという形で表され、このオブジェクトは複数の JSON ファイルで構成されます。
それ以降は、他の組織がその設計図を使用して、アプリケーションの独自のバージョンを作成できます。このアプリケーションを作成時に、組織は各自の分析ニーズに応じてその Salesforce 組織のデータを使用できます。また、Salesforce のオブジェクトを追加したり、カスタムのセキュリティ設定を使用したりすることもできます。あるいは、各々の項目や用語に基づいて顧客データを絞り込むことも可能です。作成するダッシュボードを増やしたり減らしたりすることもできます。
Salesforce では多様なテンプレートを作成しています。当社ではまず、Sales Analytics や Service Analytics のアプリケーションを作成する幅広い汎用テンプレートを用意しました。最近では、Campaign Analytics、Change Analytics、Retail Banking Analytics、Health Cloud Analytics など、用途を絞ったアプリケーションのテンプレートを追加しています。
どのテンプレートも、CRM Analytics 開発チームが作成したデータセット、ダッシュボード、レンズを搭載したアプリケーションに基づいています。当社のテンプレートを使用して、Salesforce データの分析を目的とするアプリケーションの各自のバージョンを作成できます。これまでに CRM Analytics の業務に時間を割いてきた方は、おそらく独自のアプリケーションを作成し、現在もチームがそのアプリケーションを使用しているのではないでしょうか。
テンプレートに関するもう 1 つのポイントは、Salesforce からのデータを分析するアプリケーションで効果が高いということです。Salesforce 以外のデータを使用するアプリケーションにもテンプレートを作成できますが、Salesforce 以外のデータを CRM Analytics に取り込むほうがはるかに複雑で、多くの作業を要します。このモジュールの目的においては、Salesforce データのみを扱うアプリケーションを使用します。
テンプレートの構造
あなたとその分析チームは、汗水たらし、涙も流して、Execs Only アプリケーションを作り上げました。CRM Analytics テンプレートは、このアプリケーションを基にテンプレートを作成するもので、あなたが歩んできた険しい道のりを他の人々は回避することができます。テンプレートの作成は、アプリケーションの配布プロセスの一部に過ぎません。ここではテンプレートの作成方法は取り上げません。この学習プロセスにすぐ取りかかれるように、このモジュールの例で使用するテンプレートはあらかじめ作成されています。これらのテンプレートは、前の単元の「リソース」セクションに記したダウンロードファイルに含まれます。
テンプレートの作成上、あなたが作成した元のアプリケーションを「ソースアプリケーション」とします。このモジュールのソースアプリケーションは、DTC の CEO が絶賛する Execs Only アプリケーションです。これ以降は、すべての例でこのアプリケーションを使用します。
以下に示すとおり、各ソースアプリケーションからテンプレートを 1 つ作成できます。そして、他の人々がこのテンプレートを使用して、アプリケーションのインスタンスを複数作成できます。(念のため申し上げておくと、テンプレートから作成されたアプリケーションに基づいて新しいテンプレートを作成することはできません)。

1 つのテンプレートから多数の変型アプリケーション
テンプレートには設定ウィザードを追加できます。このウィザードは省略可能ですが、システム管理者がアプリケーションをカスタマイズできる、極めて有用な追加機能です。ウィザードは、データを Salesforce 組織にどのような方法で保存し、データをアプリケーションにどのように表示したいかといった質問をしながら、アプリケーションの作成を誘導します。システム管理者は選択を行いながら、元のアプリケーションとはどの点が異なるアプリケーションを作成するかを決定していきます。Sales Analytics など、Salesforce のテンプレートの多くはウィザードが設定されています。顧客が作成する Sales Analytics の各自のバージョンは、元のものとわずかに異なることもあれば、大幅に異なることもあります。けれども、Sales Analytics のどの顧客も同じアプリケーションテンプレートからスタートします。
あなたもまた、パートナーがウィザードを使用して、CRM Analytics に求めるそれぞれの特定のニーズを満たす Execs Only アプリケーションを設定できるようにしたいと思っていることでしょう。このためには、テンプレートを定義する JSON ファイルを変更します。JSON ファイルによってテンプレート作成における柔軟性と可能性が格段に広がります。JSON ファイルには、CRM Analytics プラットフォームを使用したアプリケーションの作成指示が記述されています。Sales Analytics アプリケーションを作成する場合、CRM Analytics が JSON ファイルの内容 (ウィザードの選択肢など) を参照し、JSON に記述されている指示に従ってアプリケーションを作成します。
JSON ファイルについては、後続の単元で詳しく説明します。(こうした説明を飛ばして先に進みたい場合は、『Analytics Templates Developer Guide (Analytics テンプレート開発者ガイド)』に JSON ファイルとテンプレート開発の詳しい説明が記載されています。「リソース」セクションを参照してください)。この後の説明で、JSON を編集して独自のテンプレートを作成する方法の例を紹介します。テンプレートの作成については、ここではあなた自身が行うことがないため、別の機会に学習してください。本モジュールでは、その目的において、そして迅速に進めるために、ちょっとズルをして、DTC の Execs Only アプリケーションに基づくテンプレートをすでに作成しています。このテンプレートから、Sales Performance ダッシュボードと Pipeline Performance ダッシュボードのみを搭載したアプリケーションを作成します。
では、その方法を見ていきましょう。
基本テンプレートからのアプリケーションの作成
前の単元で設定した特別な Developer Edition 組織にログインし、アプリケーションピッカーから [Analytics Studio] を選択します。
これで、テンプレートから Execs Only アプリケーションを作成する準備が整いました。
-
[作成] をクリックして、[アプリケーション] を選択します。
- CRM Analytics テンプレートがすべて表示され、この中から選択できます! リストをスクロールし、[Execs Only Template 1 (Execs Only テンプレート 1)] を見つけて選択し、[続行] をクリックします。必ず [Template 1 (テンプレート 1)] を選択します。
- アプリケーションに名前を付ける画面が表示されるまで [続行] をクリックします。名前に「Exec App 1」 (Exec アプリケーション 1) と入力して、[作成] をクリックします。アプリケーションの作成進行状況画面が表示されます。この画面には、アプリケーションの作成中にバックグラウンドで CRM Analytics がどのような処理を行っているのかが示されます。
アプリケーションが作成されるまで待機します (すぐに出来上がるわけではなく、1 ~ 2 分かかりますが、独自のアプリケーションを開発するよりははるかに迅速です)。ちょっと横道に逸れますが、Execs Only Part 1 にウィザードがないことに気付いたでしょうか。この理由は、質問や変数などを追加するために必要なコードを JSON ファイルに追加していないためです。JSON ファイルを編集してウィザードを追加する方法については、次の単元で説明します。
また通常は、組織にテンプレートの 2 つのバージョンを設定することはないものと思われます。ここでは、テンプレートの素晴らしさを示す目的で、Execs Only アプリケーションテンプレートの 2 つのバージョンを用意しています。Execs Only テンプレート 2 でどのようなことを行うのかについては、後の単元で説明します。
Execs Only の基本アプリケーション
アプリケーションの作成手順の最後に [アプリケーション完了] というメッセージが表示されたら、ページを更新してアプリケーションにアクセスします。次のようなページが表示されます。

Execs Only の基本バージョンには 2 つのダッシュボードといくつかのデータセットがあります。右上の [アプリケーションを実行] をクリックします。DTC の CEO やパートナーが絶賛した内容が表示されます。上部の Pipeline Performance と Sales Performance というダッシュボードウィジェットに、選択した期間における DTC の売上高の推移の概要が示されます。下部には詳細が示されます。このすべてがスクロール可能な 1 つのビューにまとめられています。すばらしいですね。

ダッシュボードのしくみを確認するために、上部の日付検索条件を [当四半期] から [今年] に変更します。次に、[最も重要な商談] の下にある切り替えスイッチで [Pipeline Generated (生成されたパイプライン)] の側をクリックします。選択した内容に基づいて、ウィジェットが自動的に更新されます。なぜみんながこのアプリケーションを気に入るのかがあなたにもわかるでしょう。2 ~ 3 の視覚化で多数の分析が行われ、さまざまなビューを簡単に取得できるためです。優れものですよね?
次の単元では、テンプレートのファイル自体について詳しく説明します。その次に、テンプレートとそれを基に作成したアプリケーションの機能性を高めます。この後、用意された基本テンプレートに、シンプルながら強力な変更をいくつか行い、DTC のパートナーがアプリケーションの各自のバージョンをカスタマイズできるようにする、設定ウィザードの質問を追加します。
ではここで、以下の質問に解答して新たなバッジの獲得に取り組みましょう。
省略可能: Trailhead Data Manager を使用して CRM Analytics データを更新する
このプロセスの最初の手順は、データを更新してから、アプリケーションのデータフローを実行することです。
- Analytics Studio で、右上のアプリケーションピッカーに移動して、[Trailhead Data Manager] を選択します。見つからない場合は、スクロールしてください。
- [Refresh DTC Data (DTC データを更新)] をクリックします。更新が完了したら、次はアプリケーションのデータフローを実行します。
- [Analytics Studio] に戻ります。
- [データマネージャー] をクリックします。(データマネージャーが開きます。Trailhead Data Manager と混同しないでください)。
-
[Manage Dataflows (データフローを管理)] をクリックします。
- [接続] タブをクリックし、SFDC_LOCAL の右にあるドロップダウンをクリックして [今すぐ実行] をクリックします。この操作によって、最新の Salesforce データを CRM Analytics に取り込むデータ同期ジョブが開始され、データフローで使用できるようになります。同期が完了したら、データフローを実行します。
- 同期ジョブを監視するには、[監視] をクリックし、[ジョブ] サブタブをクリックします。現在実行中の同期が表示されます。
- すべての同期ジョブの状況が「実行中」から「成功」に変わるまで、[ジョブを更新] ボタン (
) をクリックします。
- すべての同期ジョブが完了したら、データマネージャーの [データフローとレシピ] タブをクリックします。[データフロー] サブタブがデフォルトで開きます。
- Exec App 1 eltDataflow データフローの右にあるドロップダウンをクリックし、[今すぐ実行] を選択します。このデータフローによって、データセットに Exec Only ダッシュボードに必要なデータが入力されます。
- データフローを監視するには、[監視] をクリックし、[データフロー] サブタブをクリックします。現在実行中のデータフローが表示されます。
- データフローの状況が「実行中」から「成功」に変わるまで、[ジョブを更新] ボタンをクリックします。(警告メッセージが表示されても無視して続行します。アプリケーションのデータが破損することはありません)。
- 次に、「Quota」という CSV ファイルをダウンロードしてインポートすると、目標に関するデータがアプリケーションに表示されます。この処理は Trailhead Data Manager を使用して行うこともできます。メモ: 実務上、目標データをアプリケーションに追加する必要があるのは、データを Salesforce 外にあるツールに保存し、そのデータを CRM Analytics で表示する場合のみです。Sales Analytics アプリケーションの顧客については、この処理が必要になることがあります。
- Trailhead Data Manager に戻ります。アプリケーションピッカーをクリックして Trailhead Data Manager を見つけます。
- [Download Quota Data (目標データをダウンロード)] をクリックし、[Download Quota CSV (目標 CSV をダウンロード)] をクリックします。DTC_Quota.cs ファイルが [ダウンロード] ディレクトリにダウンロードされます。
- Analytics Studio をもう一度開き、左側の列にある [すべての項目] をクリックします。
- [アプリケーション] タブをクリックし、作成したアプリケーションを開きます。名前は [Exec App 1 (Exec アプリケーション 1)] です。
- [データセット] タブをクリックし、目標データセットを見つけます。
- 目標データセットの右にあるドロップダウンをクリックして、[編集] をクリックします。データセットのアイコンを表示している場合は、目標データセットにカーソルを置き、右上にある矢印をクリックして [編集] をクリックします。
- 次の画面の上部で、歯車の横にある [データを置き換え] アイコンを探してクリックします。
- これにより、[データセットデータを置き換え] ページに移動します。[ファイルを選択するか、ここにファイルをドラッグしてください...] をクリックします。
- DTC_Quota.csv ファイルを検索して選択し、[次へ] をクリックします。
- 次のページでも [次へ] をクリックし、その次の画面で [ファイルをアップロード] をクリックします。
- 最後に、[置換]、[了解] の順にクリックします。(最後の数ページはデータをデータセットにアップロードする前に微調整できますが、ここでは説明しません)。CRM Analytics へのデータのインポートについての詳細は、Trailhead の「CRM Analytics Data Integration Basics (CRM Analytics データインテグレーションの基本)」モジュールを参照してください。
- 最後に、Exec App 1 eltDataflow データフローを再度実行して、目標データがアプリケーションに表示されることを確認します。ステップ 5 ~ 7 を繰り返します。