はじめに
こんにちは!株式会社オプトプランニングです。
Salesforce(Salesforce.com/セールスフォース・ドットコム、略してSFDC)であれこれやってみたことを書いていきます。
レポートを作成していると「過去の月ごとの商談件数が知りたい」や「月ごと・週ごとの金額の合計がわかればいいな」など、データを期間ごとに集計したい場面は多いと思います。
そんな時に使うのが、「期間集計」です。
これは、データ型が「日付」「日付/時間」項目の場合、簡単な設定で任意の期間で集計をすることができるものです。
今回はLightning Experienceでの期間集計の方法や、やってみて分かったこと、他の方法などを書いていきたいと思います。
※2023/1/30 訂正・追記あり
日付項目を年月(YYYY年MM月)で期間集計してみた
早速、期間集計をやってみようと思います!
今回使用するレポートは、以前のブログでも使用したTrailheadのモジュールをダウンロードした時に入っていた図1のレポートです。
(どのモジュールだったかは前回から思い出せておりませんのであしからず)
まずは、右上の「編集」をクリックしてレポートの編集画面を表示させます。
今回は、レポート内にある「完了予定日」を期間集計してみたいと思います。
日付項目を期間集計するには、対象の項目がグループ化された行または列に存在する必要があります。
列にある項目「完了予定日」を期間集計しようとしてみても、以下のように期間集計できる項目が出てきません。
そこで、「完了予定日」を行グループに移動して期間集計しようとすると…
「集計期間単位」という項目が出てきました!
期間集計は、この「集計期間単位」で任意の単位を選択することで設定します。
今回は「年月」で集計しようと思うので単位に「年月」を選択します。
(図3のようにデフォルトでは「日付」が選択されていますが「年月」をクリックすると選択できます)
すると、日にちまで表示されていた「完了予定日」が年月のみの表示に変わりました!
編集時は表示されるデータが少ないため、期間集計で何が変化するのかわかりにくいですが、期間集計する前後のレポートを見比べてみると以下のようになります。
左図が「完了予定日」を期間集計する前、右図が「完了予定日」を期間集計した後です。
(わかりやすくするため、基準とグラフ種類を変更しています。)
期間集計前は日ごとに集計されていたのが、「年月」で期間集計したことで月ごとに集計されるようになりました。
オブジェクトの項目を増やしたりすることなくこのような集計が行えるのはとても便利ですね!
実際にやってみてわかったことや気をつけたいこと
期間集計はあくまで集計するための機能
期間集計を行う場合、対象の項目がグループ化されていなければなりません。
期間集計が表示されない場合は、対象の項目をグループ化しているかどうか確認してみましょう。
あくまで「集計」機能なので、データの表示形式を変更するためのものではないということを念頭に入れておきましょう。
また、期間集計を行う項目はグループ化しなければならないため、表形式のレポートでは使用できません。
期間集計を行った項目の表示内容
期間集計を行った項目は、期間集計で選択した単位でしか表示されなくなります。
今回やってみた期間集計を例にすると、「完了予定日」を「年月」で期間集計したレポートは、完了予定日の年月だけ表示され、完了予定日の日付は表示されません。
集計は「年月」で行いたいけど、日付や時間などの表示もレポートに表示したいのに…という時は気をつけたい部分です。
データ内容は変わらないので、表示されていない情報(例で言えば「完了予定日」の日付)はレコードを参照すればいいのですが、いちいちレコードを参照するのも面倒に感じてしまいます。
期間集計を行う項目は、期間集計後の表示でいいかの判断が必要かもしれません。
エクスポートをやってみてわかったこと
エクスポートをしてみると期間集計を行った項目に関して影響が出る場合があります。
「フォーマット済みレポート」の場合、期間集計を行う前後でエクスポートされるデータ内容が変わります。
先ほどの期間集計した前後のレポートをエクスポートして比較すると以下のようになります。
「フォーマット済みレポート」でエクスポートした時、期間集計した項目はレポートで表示された内容のままエクスポートされます。
期間集計を「年月」で行ったレポートをエクスポートすると、エクスポートしたファイルでは「完了予定日」の日付は分からなくなってしまいます。
「詳細のみ」でエクスポートした場合は、期間集計を行う前後でデータ内容は変わりません。
期間集計する前後のレポートをエクスポートした比較は以下です。
「詳細のみ」でエクスポートした時、期間集計した項目はレコードデータに基づいた内容でエクスポートされます。
期間集計を「年月」で行ったレポートでも、エクスポートしたファイルから「完了予定日」の日付がわかります。
期間集計を行いたいけど、項目の表示形式は変更したくない!!
行レベルの数式を使ってみよう
年月などの期間集計はやりたいけど、対象項目の表示形式はそのままにしておきたいという場合もあると思います。
また、エクスポートの結果からレポートの期間集計は使いにくいということもあるでしょう。
そんな時に私が思いついたのは、期間集計を行いたい項目を利用して「行レベルの数式」を作成し、その数式を集計項目に利用する方法です。
行レベルの数式を作ってみた
行レベルの数式もレポート編集画面から簡単に作成できます。
レポート編集画面を開いたら「列」の右にある「▼」をクリックすると「行レベルの数式を追加」があるのでクリックします。
「行レベルの数式列を編集」画面が開くので、以下のように設定します。
「列の名前」はレポートに表示される項目名になるので、必要があれば「説明」に数式の内容を書いておくといいと思います。
列の名前 | 完了予定年月 |
数式出力種別 | テキスト |
数式 | MID(TEXT(CLOSE_DATE),1,4) & ‘年’ & MID(TEXT(CLOSE_DATE),6,2) & ‘月’ |
この数式は「完了予定日」の年月部分だけをテキスト形式で表示させるものになります。
※2023/1/30数式訂正。詳細は追記を参照
適用をクリックすると行レベルの数式が作成されているので、作成した数式でグルーピングを行います。
同時に、期間集計に使用していた「完了予定日」は列の方に戻してみます。
すると、「完了予定日」の「年月」で集計しつつ、「完了予定日」の内容をレポート上に表示できるようになりました!!
ついでにエクスポートもしてみた
行レベルの数式があるレポートを「詳細のみ」でエクスポートしてみるとどうなるか試してみました。
すると…
行レベルの数式も項目としてデータをエクスポートできることが分かりました!!!
これだと、エクスポート後のデータの活用に幅が広がるかもしれませんね~
おわりに
期間集計ですが、実務の方ではLightning Experienceでの期間集計方法がわからず、苦肉の策として編み出したのが行レベルの数式を作成して集計をしてみることでした。
行レベルの数式を作成した後に期間集計の方法が分かったのですが、期間集計した項目の表示だと私が作成したいレポートでは表示内容が不十分なことが多く、そのまま行レベルの数式で集計を行うレポートもありました。
今回書くにあたって、エクスポートについてもいろいろ試してみてより理解が深まったので、この気づきを生かして利用者が使いやすいレポート作成を心掛けていきたいと思います!
それでは、またお会いしましょう!!
追記
2023/1/30、完了月が正しく並び替えできないという問題があるため数式を訂正しました。(初歩的なミスですみません)
当初の数式【 TEXT(YEAR(CLOSE_DATE)) & ‘年’ & TEXT(MONTH(CLOSE_DATE)) & ‘月’) 】と訂正後の数式【 MID(TEXT(CLOSE_DATE),1,4) & ‘年’ & MID(TEXT(CLOSE_DATE),6,2) & ‘月’ 】の「完了予定年月」の表示を忘備録として載せておきます。
訂正後の「完了予定年月」は正しく並び替えできています。
今回、参考にした数式は公式ヘルプに紹介されていました。