【折れ線グラフが途切れる】 集計対象範囲にレコードがない場合の対策
こんにちは、kubottyです。
皆さんはレポートで、
どのグラフを使って作られることが多いでしょうか。
ちなみに私は横棒が多いタイプです。
今回は折れ線グラフでのお話。
あるレポートをご覧ください。(下記)
2月の表示がおかしいですね。線が途切れています。
1月は点で、2月には線が無く、3月からはまた線が続いています。
集計では数字は”0”を表していますが、
レコード上で集計している項目に”0”という値が入っている訳ではなく、
レコード自体が存在せずに”0”と表示されています。
それを折れ線グラフで表示すると、線が途切れてしまいます。
ではどういうことか。ヘルプを見てみましょう。
【折れ線グラフ】
『データセットの途中に欠損値が含まれる場合、
Salesforce では折れ線内に空白が表示されます。』
レコードが無いので空白となる。ごもっともですね。
「空白は空白として扱われ、”0”とはならない」ということ。
ですが、運用では線が途切れている折れ線グラフはしまりの無いものです。
希望は下記(グラフの点線)が理想です。
「空白は”0”として表示して欲しい」
なんとか出来ないものか。
レポートで悩むときには「カスタム集計項目」を調べるようにしています。
解決の糸口があるかも、と。
そうそうPARENTGROUPVAL・PREVGROUPVALがありました。
この方たちは(サマリーまたはマトリックスの時)
「指定したグルーピングで集計を掛けて値を返して」くれます。
あくまでグルーピング指定で集計をするので、
グルーピング内でレコードが有ろうと無かろうと、
値が返せるかも。
今回のレポートはマトリックスなので、PARENTGROUPVALを使用します。
新規カスタム集計項目を作成し、
グルーピングを指定し、関数を挿入。
数式はこんな感じです。
PARENTGROUPVAL(数量:SUM,部署,出荷日)
さぁレポートを見てみましょう。
綺麗な折れ線グラフになりましたね。
グルーピングで集計した結果は、
「集計した範囲のレコードに空白があっても、”0”として集計する」
ということですね。
ちなみにカスタム集計項目にはIF文があるので、
「合計値がNull(空白)なら別の値を返せ」を試してみましたが、
そもそもレコードが無いので答えは返ってきません。
今回の様な「集計対象範囲にレコードが存在しない場合に集計を行う」ときは、
一度グルーピング集計(PARENTGROUPVAL・PREVGROUPVAL)を試してみてください。
標準機能はまだまだ勉強が必要です。