※こちらは過去に公開していたブログからの移行記事です。
前提条件
・リレーションが設定されている 2つのオブジェクトが含まれるレポートタイプを使用
※レポートタイプのリレーションの設定で、「『A』レコードには関連する『B』レコードの有無は問いません」を指定
・主従関係の主オブジェクトの項目Aで行をグルーピング、従オブジェクトの項目Bで列をグルーピング
状況とその理由
以下の状態のときに、レポートの項目Bで「-」列が表示されていた。
主レコードが作成され、それに紐づく従レコードが作成されていない場合レポートタイプで従レコードの有無を問わず、主レコードが表示されるように指定されているため。
主レコードが作成され、それに紐づく従レコードの項目Bが空白の場合値が入力されていない項目は、レポート上では「-」と表示されるため。
どうしても「-」を表示させたくないときの対処法
従レコードが未作成のもの、項目Bが入力されていないものはレポートで不要、という場合には、条件を指定したりレポートタイプを変更することで対応します。
主レコードが作成され、それに紐づく従レコードが作成されていない場合従レコードが存在している主レコードのみが表示されるようにする。
※項目Bは従レコードが作成されていれば必ず入力されている、という前提。
・クロス条件を使用して、「主オブジェクトが関連する従オブジェクト」レコードのみが表示されるようにする。
・レポートタイプを作り直し、レポートタイプのリレーションを「各『A』レコードに関連する『B』レコードが 1つ以上必要です」へ変更する。
主レコードが作成され、それに紐づく従レコードの項目Bが空白の場合レポートの絞り込みの条件に、「項目Bが空白でない」というような条件を追加する。
従レコードが作成されていない場合と、項目Bに空白が両方ある場合レポートの絞り込みの条件に、「項目Bが空白でない」というような条件を追加し、さらにクロス条件で、項目Bが空白でない従レコードがある主レコードが表示されるよう絞り込む。
おまけ
日付項目が空白のとき以外を指定したい場合は、「次の文字列と一致しない」を選択し、値に何も入力をしないでそのまま「適用」をクリックします。
◇ Salesforce > ヘルプ > 項目と値の種別による条件検索に関する留意事項ひとこと
レポートに関しては、ちょっと設定を変えると問題が解決することもあります。
(そうでなければ、そもそものオブジェクト構成の問題なので、大幅な改修が必要です……)
Salesforceの機能で、経験がものを言うのがレポート&ダッシュボード、自動化あたりかと思いますので、まずは色々なパターンのレポートを作成してみてはいかがでしょうか。