売上のレポートを年度に合わせて4-3月で表示してみた
目的
salesforceのレポートで、年度ごとに月別売上レポートを表示する必要がありました。 会社は期首月が4月なので4-3月で表示してほしいという指示もあり、ちょっとやってみたので残しておこうと思います。
前提
取引先に紐づく形で、売上オブジェクトを作成しています。 売上オブジェクトには、「計上日」と「売上金額」をまずつくりました。 (計上日は日付型、売上金額は通貨型にしています)
課題
計上日をグループ化しようとしてみましたが、ちょっといまいちです。 同じ項目で複数グループ化できるとよさそうですが無理ですね。
最初にやってみたこと
計上日1つだと難しいことはわかったので、計上年度と月を数式で作ってみました。 計上年度は、4月はじまりなので計上年月日が1~3月だったら前の年になるようにします。
IF(MONTH( 計上年月日 ) < 4, TEXT(YEAR( 計上年月日 ) - 1), TEXT(YEAR( 計上年月日 )) )
月は、計上年月日から月を取り出しました。
MONTH( 計上年月日 )
これで作ったレポートのサンプルがこちら
月の数式で戻り値を数値にしていましたが、そうすると1月はじまりになってしまいました。 期首月が4月になるようにしないとだめですので、これだとうまくいきませんでした。
最終的にやったこと
月を選択リストで表現してみました。 選択リストなら並び順を任意で行えるため、これをやってみました。
ただし選択リストに値を入力するためには、作成時に月の値を登録するか、プロセスビルダーなどで作成時に計上年月日から計上月を更新する必要があります。
そのほかにやれそうなこと
月の頭に接頭辞みたいなものをつけるという方法もあります。 数式でa_4月、b_5月、、、l_3月となるようにする方法もあります。
CASE(MONTH( 計上年月日), 4, "a_4月", 5, "b_5月", 6, "c_6月", 7, "d_7月", 8, "e_8月", 9, "f_9月", 10, "g_10月", 11, "h_11月", 12, "i_12月", 1, "j_1月", 2, "k_12月", 3, "l_3月", "" )
接頭辞が表示されることに問題がなければこちらの方法が簡単かと思います。 salesforceは考え方次第でいろんなアプローチがあるので、運用に照らして検討するのがよさそうですね。