こんにちは、
初投稿のどん🦊ぎつねです! よろしくお願いいたします//
現在、私は某企業でSalesforce操作のサポート業務・機能提案をしたりしています
そんな私が日々、
「知らなかった」「あ、そういう意味だったのか」
などと思ったことを発信します!
今日は最近感動した小ネタを一つ。
表題にある通り、
グラフに平均値を表示する方法
です。
これを知ることになったのは、こんな問い合わせがきっかけでした。
ダッシュボードで、図のように、平均値を表に組み込むことはできないだろうか。
これは営業担当者が営業活動を逐一記録しているもので、
レコードの数=営業がその案件に対して行った営業活動数
を指していますが、この平均値を出すことで活動目安としたい、ということなのでしょう。
ただ、頂いた理想図は営業担当者名のY軸の中に氏名ではない項目「平均値」を出す、というもの。
これは難しいのでは…と判断し、別手段を模索しました。
没案①:数値化
とにもかくにも、平均の値を出さないことには始まらない、と思い
試しに集計項目にて「レコード件数/氏名(ユニーク)」で平均を算出することには成功しました。 RowCount/User.Username:UNIQUE

※画像は
summer’23の画面です。現在のwinter'24の画面では全般タブ、表示タブはありません。没案②:基準線

次に思いついたのは、「
基準線」の存在。
トップ画像を見て、「なんだ、基準線のことか」と思った方もいるのでは?
ええ、私もそれでできると思ったのです。思っていたのです。
しかし、果たして数式で出した平均の値を基準線に追尾させる、なんてできるのだろうか。
調べましたが結果は惨敗。
基準線を集計項目の数値で追尾させる、なんて機能はあるわけもなく。
仕方なく、依頼元のダッシュボードのグラフの横に
没案①の数値を大々的に出してみるも、これじゃない、感。
どうすれば一目で、平均値より上だ、下だ、と見やすくなるのだろう…。
採用案:折れ線グラフとしてプロット
そこで使えるとわかったのが、私は個人的に使ったことのなかった機能。
縦棒グラフに存在する機能、
その名も

「折れ線グラフとしてプロット」
……なぁにそれぇ。
これは、所謂、
複合グラフ、や、
組み合わせグラフを作る時など…
引用:gilde tech記事「ダッシュボードで合計値を組み合わせグラフにして表示させたい」
https://sf.forum.circlace.com/articles/549677646787645440
こんなグラフを作る際に有用な機能です。
まっすぐ、基準線のような線を引きたいだけなのに、
線がギッタンバッコン上下してる姿しか見たことのないこの機能が、本当に役立つだろうか、
と半信半疑、全く想像ができなかったワタシ。
しかし、確かに。要するに
X軸項目1つ1つに全体の平均値が表示されるようにすればよい、ということ。
早速、この機能を駆使すべく、下準備をする。採用案のための下準備:PARENTGROUPVAL関数
そうとわかれば
PARENTGROUPVAL関数 を使えばいい!PARENTGROUPVAL関数とは?
PARENTGROUPVAL関数とは親グルーピングに対する相対的な値の計算に使用します。
行でグループ化されたレポート (サマリー) および結合レポートの場合
PARENTGROUPVAL(summary_field, grouping_level)
行と列でグループ化されたレポート (マトリックス) の場合
PARENTGROUPVAL(summary_field, parent_row_grouping, parent_column_grouping)
▼Salesforceヘルプページ
https://help.salesforce.com/s/articleView?id=sf.reports_summary_functions_about.htm&type=5
ちなみに。グルーピングレベルには、親グループのAPI参照名、または総計として以下を指定します。
サマリー・結合のグルーピング :GRAND_SUMMARY
マトリックスの行のグルーピング:ROW_GRAND_SUMMARY
マトリックスの列のグルーピング:COLUMN_GRAND_SUMMARY
もうちょっとわかりやすく頼む、という場合はこちら
▼Salesforceのレポートで、年月ごとの総計金額に占める各取引先の割合を表示させたい
https://www.circlace.com/blog/salesforce/report_parentsgroupval2110
早速、集計項目を作成する。
◆レポートの前提
今回はレコード件数順に並び替えを行いたかったのでサマリー形式に。
「行をグループ化」に氏名(営業担当者)を設定
◆集計項目の作成
集計項目で
PARENTGROUPVAL 関数を使いながら
「レコード件数/氏名(ユニーク)」にすることで平均を出す。 PARENTGROUPVAL(RowCount, GRAND_SUMMARY)/PARENTGROUPVAL(User.Name:UNIQUE, GRAND_SUMMARY)
※上記画像は
summer’23の画面です。現在のwinter'24の画面では全般タブ、表示タブはなく、以下のようにわかりやすく図が表示されています(嬉しい‼)
次に投稿現在winter'24 の画面では数式入力画面右に表示されている◆「この数式を適用する方法」の選択をします👈とっても重要。
選択肢の中から、今回は営業担当者ごとに全体の平均値を出すため
選択済みのグループ(特定のグループ)を選択、行グループで「氏名」を指定。
これで下準備はいよいよ終了、いよいよ最後に
グラフに平均値を表示していく

まずは
①グラフの種類「
縦棒グラフ」を選択
②X軸を「営業担当者氏名」、Y軸を「レコード件数」に設定したら、、、
下にある
「+基準」を選択
③追加選択できるようになったボックスで、先ほど作成した集計項目を選択、
最後に、ここで目的の機能
「折れ線グラフとしてプロット」を選択
するとどうだろう、、、、
これこれ。。。
待ってました!
理想的な形ができているではないか!!!

こうして、無事、上記内容にてご案内をいたしました。
そしてちなみに。
なぜ横棒グラフではだめだったのか
について。
触ってみると一目瞭然なのですが、横棒グラフは「折れ線グラフとしてプロット」機能が使えず。
今回のお問い合わせは私自身とても勉強になりました。
皆さんも、グラフ上で動的に平均値を出したい場合にはこちらをどうぞお試しあれ。