改めて「レポート」って

Salesforce のレポートは標準機能なので、ヘルプなどを見れば大体の使い方、表現方法はわかります。しかし、表現できないこと、こうすればできる、なんていうことはヘルプには載っていません。ということで、その辺りを紹介したいと思います。

種類

まず、レポートには4つの種類があります。

表形式

レコードを単純に一覧表示したレポートです。表示対象となったレコードの件数と数値(金額なども含む)の項目に関しては、総合計値を表示することができます。

サマリ

グルーピングや小計を作ることができるレポートです。数値項目に関しては、合計、平均、最大、最小を表示することができます。

マトリックス

行と列でグルーピング、小計を作ることができるレポートです。

結合

複数のレポートタイプを使用し、共通する項目でグルーピングや小計を作ることができるレポートです。
例えば、イベント、売上、費用というオブジェクトが以下のような構成であったとします。


結合以外のレポートの場合、イベント-売上、もしくはイベント-費用で、別々のレポートになってしまいます。
しかし、同じ画面でそれぞれを確認したい、というときに使用します。


意外に知らない?結構知られてる?便利な機能

ドラッグ&ドロップ

出力項目にドラッグ&ドロップは普通に皆さんお使いかと思います。同様に、条件式へ項目をドラッグ&ドロップすることができます。

日付の日本語指定

日付に来月や過去30日など、日本語での条件値指定ができます。指定できる種類は相対日付値に載っています。

並び替え

レポートの上部に表示しているタイトルをクリックすると、その項目で昇順・降順に並べ替えが可能です。ただし、複数の項目を組み合わせての並び替えはできないので注意が必要です。

Excel 出力

「詳細のエクスポート」で CSV や Excel に、レポートの元になっている詳細データをすべて出力することが可能です。
「印刷用に表示」で、画面のイメージに合わせた Excel ファイルへの出力が可能です。

結構便利なカスタム集計項目

レポートでは、カスタム集計項目というものを作ることができます。
例えば、1つの売上で、合計金額と手数料というものを持っていた場合。そして、その売上の集計で、合計金額に対する手数料の割合を見たい場合。
こういうときには、カスタム集計項目で、手数料の合計 / 合計金額の合計 という数式を作って、手数料の割合を表示することができます。
レポートのカスタマイズ時に、以下の赤枠で囲っている部分から追加します。

時と場合によって便利なことがあるバケット項目

レポートでは、バケット項目というものを作ることができます。
わかりやすい例は、店舗の住所は都道府県で管理していて、その都道府県を地方ごとにまとめて売上を集計したい、といった場合に使用します。
レポートのカスタマイズ時に、以下の赤枠で囲っている部分から追加します。

飛び道具的使い方

レポートの URL へリクエストパラメータを設定して渡すことで、リンク先のレポートの検索条件を変更することができます。
レポートの URL の最後に ?pv[n]=xxxxx の形で渡します。[n] は検索条件として設定している条件のインデックスです。0始まりです。
例えば、検索条件式の1番目に値を指定したい場合は https://ap.salesforce.com/00O10000004qvLl?pv0=夏祭り のような形で指定します。
なお、この方式は Salesforce が保証しているわけではないので、ある日突然使えなくなる可能性もなきにしもあらずです。その辺りをご理解の上ご使用ください。

ちょっと困る、でもできない

別名で保存

一度出来上がっているレポートを編集して「別名で保存」をすると、編集した元のレポート名がどういう名前だったか、どのフォルダにあったかがわかりません。

タイトルの幅調整

表示しているレポートの項目幅を調整することはできません。項目数が多い、かつ長いテキストの値がある場合は、そのテキストの部分が改行たくさんで表示になってしまうことになります。
ただし、前述した「印刷用に表示」で Excel 出力すると、実データの長さで自動的に幅調整をしてくれます。

表示形式の指定

前0埋めや、日付の表現、小数点の表示桁数をレポート上で指定することはできません。数式、もしくは元の値の表現で対応するしかありません。

グルーピング項目の件数集計

グルーピング項目の件数を集計値と合わせてレポートで表現することはできません。
例えば、お店がお客さんに商品を売ります。こういった場合に、売った商品の数や金額ではなくて、何人のお客さんにいくら商品を売ったのか、というのを把握したい場合。
これはレポートで表現することはできません。
下の絵では顧客ごとに売上件数と売上金額を表示しています。しかし、この集計行の3人1,130,000円というのをレポート上で表示することができません。

ただし、3人に売った、というレポートは作成することができます。
顧客だけを指定するレポートタイプを使ってレポートのカスタマイズをします。その際、条件でクロス条件を追加します。

追加した条件に関連するデータとして売上を指定します。この際、売上に対して条件を設定することも可能です。



そうすると、3人という結果を得ることができます。

しかし、顧客単体でのレポートなので、当然ながら売上の金額合計を表示することはできません。

前年対比、前月対比

今年の売上と去年の売上を比較するということがなかなかできません。
PREVGROUPVAL という1つ前のグループ値を取ってくることができる関数があります。
これはどうあっても1つ前しかとれません。グルーピングして並んでいる項目の1つ前の値をとってくることしかできません。
例えば、毎月の売上を昇順にならべて、前月対比を作った場合。中小企業以上であれば、会社全体の売上で数字のない月というのはそうそうないと思います。
しかし、商品ごと、サービスごとなど、ある特定の切り口で売上を見たとき、売上がない月という場合もあるかもしれません。そういった場合、前述した方法で前月対比を行うと、売上のない月はレポート上に現れません。
この現れない月の次の月は、1つ前の売上のあった月の値の比較となるため、前月対比にはなりません。
以下の絵では、前月差額という項目で当月-前月の金額を出そうとしてます。しかし、10月の売上がありません。そのため、11月の前月差額は、11月の金額-9月の金額となっていて、本来の目的の金額表示にはなっていません。


グルーピング行への項目追加

例えば、顧客名でグルーピングし、顧客ごとの売上をサマリレポートで作ったとします。
このグルーピング行に、顧客の情報として住所や決算月などを表示したいこともあろうかと思います。
しかし、できません。グルーピング行には、グルーピングで使った項目しか表示することができません。

マトリックスで詳細を表示できない

レポートを画面で表示する場合、その表示対象が2,000件以内である必要があります。
2,001件以上は、エクスポートしないと確認することができません。
加えて、マトリックスレポートでは、2,001件以上になると、マトリックスレポートを構成している明細レコードを「詳細を表示」ボタンで表示することができません。


ログインレポートの共有

元々用意してある「管理レポート」フォルダにあるレポートは、「設定・定義を参照する」権限があるユーザのみ参照することができます。
「設定・定義を参照する」を持つユーザは、アプリケーションの設定や管理設定を参照することができてしまいます。それは要らない、ユーザのログイン状況だけ見れればいいんだ!という対応ができません。

総括

レポートという機能は非常に便利です。便利ですが、より踏み込んだ形で考えると、どうしても対応できないことがでてきます。
そういった場合は、MotionBoard など、Salesforce 上で動作する BIツールを検討してみましょう。