2020.09.07

Salesforceのレポートを上期・下期でグループ化する方法

  • このエントリーをはてなブックマークに追加
  • follow us in feedly
gettyimages (17088)

はじめに

はじめまして。テラスカイの石川です。

今回はSalesforceのレポートを半期ごとにグループ化して、一覧で表示させる方法をご紹介します。
この方法を活用すると、例えば商談の売上予定日で上期と下期に分け、売上合計金額を半期ごとに表示させるレポートを作成することができます。

本ブログ内では、業務内でよく利用される商談レポートを使って説明します。

デフォルトでグループ化できる期間は四半期ごと

商談レポートでは、四半期ごとに完了予定日でグループ化が可能な「会計期間」が既にレポート項目として存在しています。

会計期間ごとにグループ化したレポート

※このレポートの組織では会計年度を4月始まりとして設定しています。
しかし、上期・下期単位などでグループ化はできず、集計可能なのは四半期単位でのみとなっています。

そのため、半期ごとにソートしたい場合にはこれからご紹介するちょっとしたカスタマイズが必要となります。

半期単位でレポートをグループ化する方法

1、半期集計する対象のオブジェクトに項目を追加する

先ほど触れた「会計期間」項目のように、完了予定日をもとに上期・下期を表示させる項目を追加します。

今回は商談レポートで実現させたいので、商談オブジェクトで下記のように設定した項目を新規作成します。

データ型:数式
項目の表示ラベル:集計期間(半期)
項目名:HalfYearPeriod__c
数式の戻り値のデータ型:テキスト

数式の中身はこちらです。
※4月から9月を上期、10月から3月を下期とした場合
IF (AND(1 <= MONTH(CloseDate ) ,  3>= MONTH(CloseDate )  ) ,    TEXT(YEAR( CloseDate ) - 1)  , 
    IF (AND(4 <= MONTH(CloseDate) ,  12>= MONTH(CloseDate)  ) ,    TEXT(YEAR( CloseDate ) ) , null
    )
  )
 + 
IF (AND(4 <= MONTH(CloseDate ) , 9 >= MONTH(CloseDate ) ) , " 1.上期",
   IF (OR( AND(1 <= MONTH(CloseDate ) , 3 >= MONTH(CloseDate ) )  , AND(10 <= MONTH(CloseDate ) , 12 >= MONTH(CloseDate ) ) ) , " 2.下期" , 
     null
    )
)
集計期間(半期)項目の数式
この項目はレポートでのみ使う予定なので、ページレイアウトには表示させなくて大丈夫です。

2、作成した項目をグループ化項目として表示させる

あとはレポートで表示させるのみです。

「行をグループ化」から先ほど作成した「集計期間(半期)」項目を選択します。

集計期間(半期)でレポートをグループ化

最後にレポートを保存、実行し、完成です!

下記にはサンプルとして実際の要件でありそうな、支社別の半期単位の商談金額を表示させるレポートを作成してみました。

支社別半期ごとの集計レポート

詳細行の表示をオフにすれば、欲しい情報だけをよりコンパクトな形で表示させることも可能です。

詳細行を表示させないレポート

今回は商談オブジェクトに対して実装をしましたが、応用すれば他のオブジェクトでも使用が可能です。

注意点

今回新規作成した項目はとても便利なのですが、作成時に1点だけ注意点があります。

それは、数式の中で「上期・下期」を指定する時の文字の指定方法です。

例えば、下の表を参照していただければわかると思いますが、集計期間として表示させたい文言を

2020 上期
2020 下期


に設定してしまうと、下期の後に上期が続いてしまいます。

2020 下期の後に2020 上期が続いてしまう

これは、「2020」の後に指定しているのが日本語表記であるため、数字やアルファベット順のように、こちらの想定通りに並べることが難しいからです。

そのため、今回の対応のように上期と下期の前に明示的に数字をつけて

2020 1.上期
2020 2.下期


とするか、もしくは、

2020 1st half
2020 2nd half


といった表記にすることで降順または昇順にレコードを表示させる必要があります。

おわりに

本ブログでは、商談レポートでの半期単位の表示方法をご紹介しましたが、応用すれば他のオブジェクトでも使用できますし、期間単位の指定もご自身で調整できると思います。

ぜひご活用ください!
26 件
     
  • banner
  • banner

関連する記事