Analytics への Salesforce データの抽出
学習の目的
Salesforce データの抽出の概要
営業リーダーチームのために必要なデータの Analytics への取り込みの最初のステップが完了しました。営業リーダーチームは、経営陣が新しい CEO と会うときに、営業の業績についてプレゼンテーションを行いたいと考えています。ただし、CSV データは必要なデータのほんの一部にすぎません。営業リーダーチームが関心を持っているデータは、すでに Salesforce 内の商談オブジェクト、取引先オブジェクト、ユーザオブジェクトにあります。ここでは、この Salesforce データを Analytics に取り込みます。
現在、データジャーニーでは次の位置にいます。

データフローの概要
Salesforce オブジェクトからデータを抽出するにはデータフローを使用します。データフローは、データを抽出してデータセットを作成するために実行される、JavaScript Object Notation (JSON) 形式での一連の指示です。これらの指示では、どのオブジェクトや項目からデータを抽出するかや、作成するデータセットの名前などが指定されます。データフローには、データの結合などの他の用途もありますが、ここでは抽出機能だけに注目します。
JSON と聞いて、コードを記述しなくてはいけないのだろうか、と思われているかもしれません。幸い、JSON について何も知らなくても大丈夫です。Analytics にはあなたに代わってこれらの指示を記述するツールがあり、その 1 つを使用することになります。
データフローの用途は 1 つではありません。データフローを使用して、同時に多数のさまざまなオブジェクトから多数のデータセットを作成できます。また、定期的にデータフローを実行するようにスケジュールして、データセットを最新の状態に保つこともできます。データフローがすでに使用されている可能性があるため、新しい指示を追加する前にバックアップを作成することをお勧めします。ここで使用する Developer Edition 組織ではデータフローはまだ使用されていませんが、方法を確認するためにバックアップを作成しましょう。
- Analytics で、ギアアイコン (
) をクリックし、[データマネージャ] をクリックします。新しいブラウザタブでデータマネージャが開きます。
- データマネージャで、[データフローとレシピ] タブをクリックします。
- [Default Salesforce Dataflow (デフォルトの Salesforce データフロー)] の右側で、
をクリックし、[今すぐ実行] を選択します。これによってデータフローが実行されます。
-
[監視] をクリックしてデータフロー実行の進行状況を確認します。困ったことに [Default Salesforce Dataflow (デフォルトの Salesforce データフロー)] の実行が失敗しました。エラーメッセージによると、データ同期によって Salesforce から Analytics に新しいデータが取り込まれていません。手動でデータを同期しましょう。
- [接続] タブをクリックします。
- [SFDC_LOCAL] 接続の右側で、
をクリックし、[今すぐ実行] を選択します。これによって接続全体に対してデータ同期が実行され、リストされているすべてのオブジェクトのデータがローカル Salesforce 組織から Analytics に取り込まれます。
- [監視] タブをクリックしてデータ同期の進行状況を追跡します。すべてのオブジェクトが同期されて [成功] の状況メッセージが表示されるまで、リストを更新します。これで、Salesforce オブジェクトデータの新しいコピーが Analytics 内に用意され、データフローで使用できます。データフローに戻りましょう。
- [データフローとレシピ] タブをクリックします。
- [Default Salesforce Dataflow (デフォルトの Salesforce データフロー)] の右側で、
をクリックし、[今すぐ実行] を選択します。
- データフローの実行が完了したら、
を再度クリックして [ダウンロード] を選択します。
- JSON ファイルをローカルに保存して、既存のデータフローのバックアップとして保持しておきます。後でこのバージョンのデータフローに戻すには、これらの手順を繰り返し、ステップ 3 で [アップロード] を選択します。
- ギアアイコン (
) をクリックし、[Analytics Studio] をクリックします。
データセットビルダーを使用したデータセットの作成
データセットビルダー — データセットを作成するもののように聞こえますね。それでだいたい正解です。実際には、データセットビルダーは、データセットを作成するために必要な JSON の指示を生成し、その指示をデータフローに追加します。その後、データフローによって実際の作成が行われます。
データセットビルダーを使用する前に、抽出元の Salesforce オブジェクト同士がどのように関連しているかを考えます。Salesforce システム管理者であるあなたは、商談には取引先とユーザへの参照関係があることを知っています。Salesforce で商談レコードを作成するときには、商談の項目値を入力し、関連する取引先レコードやユーザレコードの項目値を参照します。
![]() |
![]() |
データセットを作成するときも、同様のことを行いますが、レコードの代わりに行を作成します。Analytics では、まずユーザにルートオブジェクトの入力が求められます。これは単に、抽出するオブジェクトの階層の最下位のオブジェクトです。この例では、商談オブジェクトがルートオブジェクトです。ルートオブジェクトより上位の関連オブジェクトのみをデータセットに含めることができます。たとえば、ルートオブジェクトとして取引先を選択すると、ユーザや親取引先は選択できますが、商談はより下位であるため選択できません。
- Analytics Studio で、[作成] をクリックし、[データセット] を選択します。
- [Salesforce データ] をクリックします。
- データセット名を入力します。何を作成したかが他の人にわかるように、できるだけ内容を表す名前を付けましょう。このデータベースには「Opportunities with Accounts and Users (取引先とユーザを含む商談)」という名前を付けます。
- [Select dataflow...(データフローを選択...)] 選択リストから [Default Salesforce Dataflow (デフォルトの Salesforce データフロー)] を選択します。ここで選択するデータフローによって、データセットが作成されます。組織に複数のデータフローがある場合、使用するデータフローを選択できます。
- [次へ] をクリックします。データセットビルダーに Salesforce オブジェクトのリストが表示されます。ここで選択するオブジェクトがルートオブジェクトです。
- [開始する Salesforce オブジェクトを選択します。] 検索ボックスに「商談」と入力します。一致するオブジェクトのリストが表示されます。
- オブジェクトリストで、[商談] をクリックします。選択したルートオブジェクトがデータセットビルダーのキャンバスに表示されます。
- オブジェクトにマウスポインタを置いて、プラス (+) をクリックします。
オブジェクトの項目のリストが表示されます。
- 必要な項目をそれぞれクリックして選択します。項目が表示されていない場合は、[名前またはメタデータで検索します。] 検索ボックスで項目名の入力を開始すると、リストが絞り込まれます。次の項目を選択します。
- Amount (金額)
- 完了予定日
- 作成日
- 名前
- フェーズ
- デフォルトでは、項目は名前のアルファベット順に一覧で表示されます。並び替え順を逆にするには、[名前] 列ヘッダーをクリックします。項目種別順に並び替えるには、[種別] 列ヘッダーをクリックします。
- ルートオブジェクトに関連するオブジェクトのリストを開くには、項目リストの上部の [リレーション] タブをクリックします。ここで、関連する取引先やユーザから必要な項目を選択できます。
ここに表示されるのは、ルートオブジェクトより上位の関連オブジェクトのみです。異なるルートオブジェクトを選択すると、表示される関連オブジェクトのリストも異なります。
- [取引先 ID] リレーションの前にある [結合] をクリックします。[取引先] オブジェクトがデータセットビルダーのキャンバスに表示されます。
- [所有者 ID] リレーションの前にある [結合] をクリックします。[ユーザ] オブジェクトがキャンバスに表示されます。
次のステップは、各関連オブジェクトから目的の項目を選択することです。
- 取引先項目のリストを開くには、[取引先] オブジェクトにマウスポインタを置いて、プラス (+) をクリックします。
- 次の項目を選択します。
- 取引先名
- 市区郡(請求先)
- 国(請求先)
- 業種
- 産業コード
- 項目リスト上部に [リレーション] タブがあります。取引先オブジェクトに関連しているオブジェクト (親取引先など) から項目を含める場合は、これを使用します。
- 項目リストを非表示にするには、[取引先] オブジェクトの右にある
をクリックします。
- ステップ 1 ~ 4 を繰り返して、[ユーザ] オブジェクトから次の項目を選択します。
- 氏名
- 役職
ここまでに行った作業を振り返りましょう。ルートオブジェクトの [商談] と必要な項目を選択しました。また、関連する [取引先] オブジェクトおよび [ユーザ] オブジェクトと、それらのオブジェクトから必要な項目も選択しました。データセットを作成すると、各行が商談を表し、関連する取引先レコードと所有者ユーザレコードからの項目が含まれます。

最後に、次の指示をデータフローに追加し、データセットを作成しましょう。
- [次へ] をクリックします。前に選択したデータフローが、バックグラウンドのデータフローエディタで開きます。注意して見ると、データセット作成指示がエディタにボックス、つまり「ノード」として表示されているのがわかります。
- [データセット用のアプリケーションを選択] 選択リストから、[Sales Performance Datasets (営業パフォーマンスデータセット)] を選択します。ここでデータフローを編集して調整できますが、もう実行できる状態です。
- [データセットを作成] をクリックします。すべてがうまくいけば、データセットが作成キューに追加されたことを示す通知が表示されます。バックグラウンドで、データセットを作成するデータフローを Analytics が実行します。
- [データ監視に移動して] リンクをクリックし、データフローの実行状況を確認しましょう。
データフローの監視と新しいデータセットの検証
- データマネージャの [監視] タブで、[データフロー] サブタブをクリックします。
[データフロー] サブタブでは、自分のデータフロージョブのみを確認できます。
- ビューを更新するには、[監視] の右上にある
をクリックします。データフローアイコンにデータフローの状況が表示されます。すべてが正常である場合、チェックマークが表示され、マウスポインタを置くと「成功」と表示されます。
状況が [キュー] または [実行中] と表示される場合は、データフローが完了するまでビューを繰り返し更新してください。
- 実行されたすべての回のリストを表示するには、データフローの前にあるドロップダウンをクリックします。
- 最後の実行の前にあるドロップダウンをクリックします。データフローが実行したすべての JSON 指示のリストが表示されます。
- データマネージャの左側で、[データ] タブをクリックします。
- Opportunities with Accounts and Users データセットの右側にある
をクリックして [調査] を選択します。このデータセットが表示されていない場合は、ブラウザを更新します。
- 新しいレンズの左側にある [棒の長さ] で、[基準を追加] (+) ボタンをクリックします。商談の [金額] 項目は基準としてここにあります。
- [横棒] で、[グループを追加] (+) ボタンをクリックします。[完了予定日] と [作成日] はここにあり、グループ化に使用できます。データセットビルダーで選択したその他のすべてのディメンション項目も同様です。
データフローのスケジュール
データセットビルダーでデータセットを作成すると、最初は Analytics によってデータフローが実行されます。その後、データフローを手動で開始したり、定期的に実行されるようにスケジュールしたりできます。スケジュールは、Salesforce オブジェクトからの最新データでデータセットを最新に保つのによい方法です。
- データマネージャで、[データフローとレシピ] タブをクリックします。
- [Default Salesforce Dataflow (デフォルトの Salesforce データフロー)] の右側で、
をクリックし、[スケジュール] を選択します。データフローのスケジュール設定が表示されます。
- 次の設定を選択し、週日午前 12 時にデータフローを 24 時間ごとに実行するようにスケジュールします。
- スケジュール基準: 時間
- 開始: 12:00 am
- 次の間隔で実行: 24 時間
- 次の曜日を選択: 月、火、水、木、金
- このスケジュールにより、ユーザが毎朝コーヒーを飲みながら最新のデータを探索できるようになります。また、データフローが営業時間内に実行されることを避けることもできます。ユーザに表示されるダッシュボードが時間帯によって異なるのは好ましくありませんからね。
- [保存] をクリックします。
2 つのデータセットの作成が正常に実行されました。SIC Descriptions データセットには、CSV ファイルから抽出されたデータが含まれています。Opportunities with Accounts and Users データセットには、Salesforce 組織のオブジェクトから抽出されたデータが含まれています。データフローをスケジュールして、常に最新の Salesforce データが取り込まれるようになりました。次のステップは、この 2 つのデータセットのデータを結合することです。これらのすべてのデータを 1 つのデータセットから探索できるようにする必要があります。データ準備フェーズに進みましょう。