本記事では、ご好評いただいている「ViewFramer」CSVアップロード機能についてご紹介したいと思います。
「ViewFramer」のことは皆さんご存知でしょうか?
Salesforceのあらゆるオブジェクトからデータを取得して任意の「ビュー」を作成できる機能です。この「ビュー」は、Salesforceのリレーションに関係なく、「論理的な条件」があれば設定だけで簡単に作成できてしまいます。作成したビューは、Documentizerを使ってドキュメントにしたり、Einstein AnalyticsなどのBIツールに連携することができるんです。
ViewFramerによって、これまで難しかった、参照関係のないオブジェクト同士を結合したレポートや複数明細ができるようになるので、作成できるドキュメントの幅が広がりました。
そんなViewFramerですが、新機能として……CSVアップロードができるようになりました!!!
……CSVアップロード? どういうこと?
はい、以下の動画のようなことができます。
Salesforce上のボタンをクリックすると、CSVデータのアップロード画面が立ち上がり、そこにCSVファイルをアップロードすることで、SalesforceのデータとCSVデータが組み合わさった帳票が作られるんです。
これだけだと、どんなデータを使っているのかが分からなかったと思います。
ここから先は、以下の目次でお送りします。
- 動画のレポートのデータ構成
- ViewFramerの設定
- CSVオブジェクトの作成
- ビューの作成
- リレーション設定
- 出力項目設定
- グループ
- 数式
- 出力条件設定
- マッピング
- ボタンの配置
1. 動画のレポートのデータ構成
動画では、「実績のデータはSalesforce上にあり、計画はExcelで管理しているけど、予実表を簡単に作成したい」という想定で以下のような売り上げ状況の表を作成しました。
実績:Salesforceのレコードを請求月別と商品カテゴリ別に分けて集計した金額
ここでは、「請求明細」というカスタムオブジェクトを集計しています。請求月は、「請求締日」項目を使用しています。商品カテゴリは、「商品」オブジェクトの「商品ファミリ」を使用しています。商品ファミリは、請求明細に紐づく商品明細に自動登録されています。
赤枠の請求明細レコードを集計しています。
計画:アップロードしたCSVデータの金額
ここでは、年月とカテゴリ別に1レコードずつ計画金額が格納されています。CSVデータの元となるものは、ExcelやCSVデータをエクスポートできる他システムなどが考えられます。
月:Excelには、FY17(年度)の12月と1月、FY16の12月と1月が出ています。
集計するデータは自動的に、「今月」と「先月」、去年の今月と先月、を取得しています。
2. ViewFramerの設定
ここからは実際の設定を見ていこうと思います。 (ViewFramerの基本的な使い方については割愛します。)
!注意!
同じウェブブラウザーで複数のビューやマッピングを参照・編集すると上書きされてしまいます。
必ず1つのタブで操作してください。
既存のビューを参考にしたい場合は、別のブラウザーで参考にしたいビューを開くようお願いいたします。ただし、同時編集はできませんので参照のみにしてください。
また、別のブラウザーにした場合も複数のビューを開くことは避けてください。
・CSVオブジェクトの作成
「CSVオブジェクト」タブが新機能です!
ここでは、アップロードするCSVの定義を作成できます。
「新規」をクリックすると、以下のような画面になります。
アップロードするCSVデータのフィールド名とフィールド型、それに伴うフォーマットを指定します。
今回は以下のように設定しました。
・ビューの作成
「ビュー」の設定を見ていきましょう。テンプレートは一覧型なので、ビューはひとつです。
リレーション設定
「商品明細」は、「商品ファミリ」(商品のカテゴリ)を取得するためにリレーションを貼っています。
「請求」は、「請求締日」を取得するためにリレーションを貼っています。
「csv:yojitsu_keikaku」は、先ほど作成した「CSVオブジェクト」です。
ビューで、「CSVオブジェクト」で作成したオブジェクトを選択できるようになっています。これで、CSVオブジェクトをSalesforceのオブジェクトと同じように扱うことができます。「csv:yojitsu_keikaku」のリレーションは、商品カテゴリと年月が一致したもののみを取得するように設定しています。
(少し複雑そうに見えますね)
出力項目設定
Excelに表示する項目の設定です。ポイントを紹介します。
グループ
出力項目名「カテゴリ」には、「グループ」に「1」と入力があります。これは、「カテゴリ」でグルーピングするという設定です。グルーピングをすることで、複数のレコードを1レコードにまとめることができます。
数式
「今月実績」と「前月実績」は以下のような数式を入力しています。
同じように、昨年も指定しています。
今月
SUMIF(seikyumeisai.金額 + seikyumeisai.税額,FORMAT_DATE(seikyu.請求締日,'yyyy/MM') = FORMAT_DATE(TODAY(),'yyyy/MM'))
前月
SUMIF(seikyumeisai.金額 + seikyumeisai.税額,FORMAT_DATE(seikyu.請求締日,'yyyy/MM') = FORMAT_DATE(ADDMONTH(TODAY(),-1),'yyyy/MM'))
出力条件設定
「請求」オブジェクトにボタンを置き、選択したレコードを対象にして出力をしたいので、「請求」に出力条件をつけました。でも集計をするレポートなので、条件なしでもよかったかもしれないですね。
ここまでで、ビューの作成が完了しました。
・マッピング
作成したビューを使ってマッピングをします。 設定は通常のViewFramerと同じなので、これまでなかったところを紹介します。
「出力情報確認」画面で、CSVアップロードができるようになりました。CSVオブジェクトを使ったビューを設定していると表示されます。これによって、「データ表示」でCSVデータをアップロードしつつデータの確認ができます。
・ボタンの配置
マッピングが完了したらボタンの作成です。
配備したマッピングの「APIサンプル」欄にある[APIサンプル]ボタンをクリックします。
今回はExcel出力ですのでサービスは「Documentizer」、形式は「Excel(アドインでマッピング)」を選択します。CSVアップロードの場合「CSVオブジェクトを使用している」にチェックを入れます。
[Onclick JavaScript]ボタンをクリックすると、JavaScriptがダウンロードされます。
ボタンの中身は、出力条件設定に合うように少し変えて、それ以外は必要がなければそのままでOKです。
OPROARTS Connectorのバージョンが 2.0 以降の場合、31行目付近の以下の部分の「/*」と「*/」を削除し、コメントを有効にしてください。
/* nsPrefix:'oproarts1', */
CSVデータをアップロードする際の画面も自動生成していますので、作成いただく必要はありません。
「請求」のリストページにボタンを配置すれば完成です!
というわけで、設定は以上です。
おわりに
簡単にですが、新機能と設定方法を見ていただきました。いかがでしたでしょうか? 難しそうでしょうか?
ViewFramerをまだ使ったことがない方には難しく見えるかもしれませんが、使ったことがある方は、新機能を直感的にお使いいただけると思います。
テンプレートのご紹介はしていませんが、Excelテンプレート側に条件付き書式やグラフの設定を行っておくことで、レポートを利用したグラフィカルな表現も可能ですよ。もちろんPDFでの出力も可能です。
今回の例で作成したレポートに限らず、幅広い用途があると思いますので、是非とも使ってみてください。
ここまで読んでいただきありがとうございました。