LoginSignup
1
1

Salesforce での集計数式と行レベルの数式

Last updated at Posted at 2022-09-19

各行レベルの数式では、一意の項目を 5 件まで参照できます。数式で同じ項目が 5 回参照される場合は、1 件の一意の項目の参照として計数されます。

以下の回答によると行レベル数式では改行はできないようです。数式項目を作って改行させればレポートでも表示できるとのことです。

It's not possible to add a line break in row level formulas.

You should create a formula field on the object returning text:

"Date="&DateField__c&BR()&"1st threshold"& etc

You can now use this formula field in your report

https://trailhead.salesforce.com/trailblazer-community/feed/0D54S00000A9CCKSA3

image.png

IF(PREVGROUPVAL(金額,年月)=0 && 金額 > 0,100,
IF(PREVGROUPVAL(金額,年月)=0 && 金額 = 0,0,
金額/PREVGROUPVAL(金額,年月)*100))

Summary Formulas vs. Row Level Formulas in Salesforce

Salesforce レポートの数式は、レコードのグループ化、計算、またはレコード データの比較のためにレポートで使用できます。

Salesforce Report Builder には、集計式と行レベルの式の2 種類の式があります。似ているように聞こえますが、両者には明確な違いがあります。

集計数式は複数のレコードにまたがるのに対し、行レベルの数式は単一のレコードにまたがります。集計数式は列ベースの数式 (数式の結果が列の下部に表示される) と考えることができますが、行レベルの数式の結果は行自体に表示されます。

要約式 複数のレコードにまたがる。 列の一番下にあります。 例: レポート内のすべての更新商談の平均金額。
行レベルの数式 1 つのレコードに適用されます。 行自体でそれを見つけます。 例: 同じレコードの 2 つのフィールドに同じ値があるかどうかを確認します。

multi-select picklist is not supported yet in row-level formulae.

Looks like multi-select picklist is not supported yet in row-level formulae.

The Release Notes state that 'Picklist' is supported, but doesn't mention multi-select picklist: https://docs.releasenotes.salesforce.com/en-us/winter20/release-notes/rn_rd_reports_row_level_formulas.htm

There's an Idea to add multi-select picklist support to row-level formulae here:

Enhanced Support for Row-Level Formulas

https://salesforce.stackexchange.com/questions/324767/multi-select-picklist-issue

例 1: 合計商談金額

上司から、商談金額の合計を国別に表示するレポートを作成できるかどうか尋ねられました。

これを達成するために、実際には集計式フィールドは必要ありません (ただし、それがあなたの推測であったとしても、あなたは正しい道を進んでいます!)。

  • 必要なのは、フィールドをクリックしてから、SUM チェックボックスをクリックすることだけです。

image.png

  • 国に基づくグループ化を含めると、レポートの要約行に次のように表示されます。

image.png

例 2: 特定の製品の月間平均ケース数

サポート チームから、昨年の特定の製品のケースの月平均を示すレポートを作成するように依頼されました。
この場合、集計式を使用する必要があります。

  • 集計式を作成する前に、Product フィールドが「Group By Row」フィールドであることを確認してください。

image.png

  • [列] の横にあるドロップダウンをクリックし、[集計式] を選択します。

image.png

  • 数式を作成するには、レコード数 (1 年全体の合計レコード数) を 12 (1 年の月数) で割ります。

image.png

  • 列に名前を付けることを忘れないでください。このシナリオでは、列名は「Monthly Avg Cases」です。これで、レポートを実行する準備が整いました。

image.png

例 3: フィールド値の一致をチェックする

あなたは、ケース レベルで、ケースのアカウントの請求先の州と配送先の州が一致することを確認する任務を負っています。

行レベルの数式を使用すると、アカウントに新しいフィールドを作成することなく、これを即座に解決できるようになりました。

  • ケース レポートを作成し、[列] ドロップダウンから [行レベルの数式を追加] を選択します。

image.png

  • エディターに入ったら、Billing State と Shipping State を比較する IF ステートメントを作成します。結果は 0 (一致しない場合) または 1 (一致する場合) になります。

image.png

ヒント:左側の [フィールドと関数] メニューを使用して、正しい書式を設定していることを確認してください。

  • 数式に完全に満足したら、列に名前を付けて [適用] をクリックします。
  • レポートでは、位置合わせされていない状態とフィールドのフィルターを簡単に特定できます。これで、単純な行レベルの数式が完成しました。

image.png

レポートで、ステータスがD以上のレコード/レコード総数の割合を出したいです。

レポートの行レベルの数式を使ってみてください。

D以上なら1にして、それ以外は0にすることでカウントできると思います。

CASE(STAGE_NAME,
"D",1,
"E",1,
0)

image.png

以下のような行レベル数式(数値)を作って1だけを抽出すれば可能です

IF(ADDMONTHS(開始日,1) < 終了日,1,0)

レポートタイプのオブジェクトリレーションでBレコードが「関連レコードが存在する/しない」になっていると、レポート作成時、「行レベルの数式」が選択できないようでした。
先ほど、Bレコードを「少なくとも 1 つの関連レコードが存在する」にしたレポートタイプを作成し、このレポートタイプでレポートを作成したころ、無事に行レベルの数式を使用し、ご教示いただいた方法で抽出できました。

行レベル数式の制限

行レベルの数式では次のデータ型はサポートされていません。

  • Boolean
  • Timeonly
  • メール
  • 電話
  • Multiselect picklist

  • 「存在する/しない」カスタムレポートタイプ (取引先責任者が存在する/しない取引先など) では、行レベルの数式はサポートされていません。[行レベルの数式を追加] ボタンは表示されません。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1