[Salesforce®初心者でもできる!UiPathによるオペレーションの自動化] Vol.12

Salesforce-main

レポートの実行と結果の取得

前回はファイルをダウンロードするワークフローについてご紹介しました。もし見逃したという方は「ファイルDownload」も併せてご覧ください。

定期的に商談(案件という場合もある)の状況をSalesforceレポート(以降、レポート)から抽出し、Excelで加工集計のうえ報告をあげている。レポートだけでは不足するデータがあり、他から補完する必要もあることからExcelでの加工集計は欠かせない。報告の性質上、漏れや誤りは許されないため作業結果をダブルチェックしている。なんとか正確性を維持しつつ、作業負荷を下げられないか・・・

こういった「Salesforceレポートを元にした定例集計作業の省力化」について悩まれたことはないでしょうか。

柔軟なレポート機能も組織ガバナンスの理由から使用が制限されていたり、報告にあたりSalesforceにはないデータを組み合わせる必要があるなど、集計に一定の作業を要する場面も多いものです。

今回は

  • Salesforceレポート取得&Excelグラフ更新

をお届けします。

読み終えた後、皆様の集計事情に合わせたワークフローが作れるようになっていると思います。

レポートオブジェクトの構造

レポート(Report) のオブジェクト構造を確認しておきましょう。

Salesforce-Integration_vol12_image1

レポートオブジェクトは、レポート名やフォルダ名などの管理情報だけをもっており、明細データは管理されていません。

次のような仕組みから、明細データはレポート実行時に動的に生成されます。

①Activityがレポート実行をSalesforceに送信

②Salesforceが明細データを生成しActivityに返信

Salesforceレポート取得&Excelグラフ更新

SalesforceレポートをExcelに出力し、グラフ更新するワークフロー作成します。

ワークフローの全体像は次の通りです。

Salesforce-Integration_vol12_image2

出力するExcelのイメージは次の通りです。レポートのデータを明細表に反映したのち、明細表と連動しているピボットテーブルを最新化することで、グラフを更新します。レポートデータは赤枠の範囲内のみで、その他は他の情報源からExcel内で補完しています。

Salesforce-Integration_vol12_image3

なお、レポートは予めSalesforceに登録されている必要がありますので、ない場合はWeb画面から準備してください。

Activityの設定方法を中心にお届けしているため、Salesforceアプリケーションスコープの設定やエラー制御は含まれておりませんのでご了承ください。

個別にプロパティの設定内容を見てみます。

①レポート名からIDを特定します。
Salesforce-Integration_vol12_image4
①-1 SOQL詳細:

SELECT Id,Name,FolderName FROM Report WHERE Name = '新規 商談 レポート' AND FolderName = 'サンプル' AND IsDeleted = False

  • Id,レポート名(Name),格納フォルダ名(FolderName)をレポート(Report)オブジェクトから取得するSOQLです

  • レコードの絞込条件として、

    • 特定のレポート名であること

    • 特定のフォルダ名であること

    • 有効なレポートであること(IsDeleted = False)

    を指定しています。本例では「新規 商談 レポート」「サンプル」を設定します。

  • SELECTの項目「Name」「FolderName」は後続で使用しませんが、デバッグ時に確認の補助となるため入れています

①-2 Salesforceステータスは必要に応じて設定します。

※本例では設定していますが、後続では使用しません。

①-3 SOQLの結果を格納するため変数を設定します。

  • 変数の型はDataTableです。

  • DataTable内の列はSELECTの項目名になるため、Id, Name,FolderNameの3列になります。

②レポートを実行し明細行を取得します。
Salesforce-Integration_vol12_image5

②-1 ①で取得したレポートのIDを設定します。

②-2 Salesforceステータスは必要に応じて設定します。

※本例では設定していますが、後続では使用しません。

②-3 明細行を格納するため変数を設定します。

  • 変数の型はDataTableです。

  • DataTable内の列はレポートに定義された列と同じになります。

③明細行をExcelに書き出します。
Salesforce-Integration_vol12_image6

③-1 明細行を格納した変数を設定します。

  • 本例では①で取得した「sfdcReportRecords」を設定します。

※その他プロパティは図の通りとします。

④明細表と連動しているピボットテーブルを最新化します。
Salesforce-Integration_vol12_image7

④-1 ピボットテーブルが含まれるシート名を設定します。

④-2 ピボットテーブルが含まれるピボットテーブル名を設定します。

※ピボットテーブル名は、Excelで該当のピボットテーブルをクリックしたとき表示される、メニュー"ピボットテーブル分析"のリボン内に表示されています。(「ピボットテーブル名の確認方法」参照)

Salesforce-Integration_vol12_image8

これで完成です。ワークフローを実行してみてください。皆さんのグラフが更新されれば完成です。

本例では、商談所有者の所属など(赤枠の部分)はSalesforceで管理していないデータという想定でした。皆様の扱われている集計報告データにも、他の情報源から補完が必要な場合もあるのではないでしょうか。

Salesforce-Integration_vol12_image9

まとめ

今回はレポート(Report)の実行と結果を取得するワークフローをお届しました。

皆様のワークフロー開発の一助になれば幸いです。

最後に今回の記事の中で取り上げた部品のリンク先などをお知らせします。

Activityの公開先 (UiPathマーケットプレイス):

https://marketplace.uipath.com/ja/listings/salesforce-activity-pack

Salesforce連携ソリューションご案内:

https://www.uipath.com/ja/solutions/technology/salesforce-automation

その他連携ソリューションご案内:

https://www.uipath.com/ja/solutions/application-cooperation-solutions

次回は「Chatterへの投稿」をおこなうワークフローをお届けします。お楽しみに。

※SalesforceはSalesforce.com,Incの商標であり、許可のもとで使用しています。

 

また、UiPathでは、本記事で解説した内容に加えて、CRM/SFAの定着化のためのRPA活用について、実際の事例や、UiPathの連携ソリューションについてご紹介するeBookを無料で公開しています。eBookは下記よりダウンロードください。

Salesforce-Integration_vol22_image32

詳しくはこちら

Topics:

Salesforce
Avatar Placeholder Big
Hidetaka Obata

Senior Sales Engineer, UiPath