レポートの実行と結果の取得
前回はファイルをダウンロードするワークフローについてご紹介しました。もし見逃したという方は「ファイルDownload」も併せてご覧ください。
定期的に商談(案件という場合もある)の状況をSalesforceレポート(以降、レポート)から抽出し、Excelで加工集計のうえ報告をあげている。レポートだけでは不足するデータがあり、他から補完する必要もあることからExcelでの加工集計は欠かせない。報告の性質上、漏れや誤りは許されないため作業結果をダブルチェックしている。なんとか正確性を維持しつつ、作業負荷を下げられないか・・・
こういった「Salesforceレポートを元にした定例集計作業の省力化」について悩まれたことはないでしょうか。
柔軟なレポート機能も組織ガバナンスの理由から使用が制限されていたり、報告にあたりSalesforceにはないデータを組み合わせる必要があるなど、集計に一定の作業を要する場面も多いものです。
をお届けします。
読み終えた後、皆様の集計事情に合わせたワークフローが作れるようになっていると思います。
レポートオブジェクトの構造
レポート(Report) のオブジェクト構造を確認しておきましょう。
レポートオブジェクトは、レポート名やフォルダ名などの管理情報だけをもっており、明細データは管理されていません。
次のような仕組みから、明細データはレポート実行時に動的に生成されます。
①Activityがレポート実行をSalesforceに送信
②Salesforceが明細データを生成しActivityに返信
Salesforceレポート取得&Excelグラフ更新
SalesforceレポートをExcelに出力し、グラフ更新するワークフロー作成します。
ワークフローの全体像は次の通りです。
出力するExcelのイメージは次の通りです。レポートのデータを明細表に反映したのち、明細表と連動しているピボットテーブルを最新化することで、グラフを更新します。レポートデータは赤枠の範囲内のみで、その他は他の情報源からExcel内で補完しています。
なお、レポートは予めSalesforceに登録されている必要がありますので、ない場合はWeb画面から準備してください。
Activityの設定方法を中心にお届けしているため、Salesforceアプリケーションスコープの設定やエラー制御は含まれておりませんのでご了承ください。
個別にプロパティの設定内容を見てみます。
①レポート名からIDを特定します。
-
SOQL詳細:
SELECT Id,Name,FolderName FROM Report WHERE Name = '新規 商談 レポート' AND FolderName = 'サンプル' AND IsDeleted = False
- Id,レポート名(Name),格納フォルダ名(FolderName)をレポート(Report)オブジェクトから取得するSOQLです
- レコードの絞込条件として、
- 特定のレポート名であること
- 特定のフォルダ名であること
- 有効なレポートであること(IsDeleted = False)
- SELECTの項目「Name」「FolderName」は後続で使用しませんが、デバッグ時に確認の補助となるため入れています
- Salesforceステータスは必要に応じて設定します。
※本例では設定していますが、後続では使用しません。 - SOQLの結果を格納するため変数を設定します。
- 変数の型はDataTableです。
- DataTable内の列はSELECTの項目名になるため、Id, Name,FolderNameの3列になります。
②レポートを実行し明細行を取得します。
- ①で取得したレポートのIDを設定します。
- Salesforceステータスは必要に応じて設定します。
※本例では設定していますが、後続では使用しません。 - 明細行を格納するため変数を設定します。
- 変数の型はDataTableです。
- DataTable内の列はレポートに定義された列と同じになります。
③明細行をExcelに書き出します。
- 明細行を格納した変数を設定します。
- 本例では①で取得した「sfdcReportRecords」を設定します。
④明細表と連動しているピボットテーブルを最新化します。
- ピボットテーブルが含まれるシート名を設定します。
- ピボットテーブルが含まれるピボットテーブル名を設定します。
※ピボットテーブル名は、Excelで該当のピボットテーブルをクリックしたとき表示される、メニュー"ピボットテーブル分析"のリボン内に表示されています。(「ピボットテーブル名の確認方法」参照)
これで完成です。ワークフローを実行してみてください。皆さんのグラフが更新されれば完成です。
本例では、商談所有者の所属など(赤枠の部分)はSalesforceで管理していないデータという想定でした。皆様の扱われている集計報告データにも、他の情報源から補完が必要な場合もあるのではないでしょうか。
まとめ
今回はレポート(Report)の実行と結果を取得するワークフローをお届しました。
皆様のワークフロー開発の一助になれば幸いです。
Activityの公開先 (UiPathマーケットプレイス):
Salesforce連携ソリューションご案内:
その他連携ソリューションご案内:
https://www.uipath.com/ja/solutions/application-cooperation-solutions
次回は「Chatterへの投稿」をおこなうワークフローをお届けします。お楽しみに。
