Salesforceの CRM Analytics(旧Einstein Analytics) では、レシピなどで数式を用いてデータを加工・可視化することができます。
その中でも CASE関数 は、ExcelのIF文のように条件分岐を表現できる便利な関数です。

本記事では、AnalyticsにおけるCASE関数の基本的な使い方や実際の例文を解説します。

CASE関数の基本構文

CRM AnalyticsにおけるCASE関数は以下のように書きます。

CASE 
  WHEN 条件1 THEN 値1
  WHEN 条件2 THEN 値2
  ELSE デフォルト値
END
  • WHEN:条件を記述する部分
  • THEN:条件に一致した場合に返す値
  • ELSE:どの条件にも当てはまらない場合の返り値(省略可能)

記述ルール(重要ポイント)

CRM Analyticsでは記述に以下のルールがあります。

  1. API名(項目名)はダブルクォーテーション "" で囲む
    例:"Department"
  2. 文字列リテラル(値)はシングルクォーテーション '' で囲む
    例:'海外営業部'
  3. 数値はクォーテーションで囲む必要はない
    例:100

実際の使用例

例1:部署名に応じて区分を分ける
CASE 
  WHEN "Department" = '海外営業部' THEN '海外担当'
  WHEN "Department" = '国内営業部' THEN '国内担当'
  ELSE 'その他'
END

この数式は、項目「Department」の値に応じて、

  • 海外営業部 → 「海外担当」
  • 国内営業部 → 「国内担当」
  • それ以外 → 「その他」

    と分類します。
例2:売上金額によるランク付け
CASE 
  WHEN "Amount" >= 1000000 THEN 'Aランク'
  WHEN "Amount" >= 500000 THEN 'Bランク'
  ELSE 'Cランク'
END

この数式は、売上金額(Amount)に基づいて以下のランクを設定します。

  • 100万円以上 → Aランク
  • 50万円以上 → Bランク
  • それ以外 → Cランク

IF関数との違い

CRM AnalyticsにはExcelのようなIF関数はありませんが、CASE関数を利用することで 「IFの代わり」 として条件分岐を表現できます。
また、複数条件をまとめられるため、 ネストしたIFよりも可読性が高い というメリットもあります。

まとめ

  • CRM Analyticsで条件分岐を行うには CASE関数 を使用する
  • 項目名はダブルクォーテーション値はシングルクォーテーション で囲む必要がある
  • IF関数のように使えるが、複数条件をスマートに記述できる

レポートやダッシュボードを作成する際に役立つので、ぜひ活用してみてください。

投稿者 てきとうSE

普段はシステムエンジニアとして、SalesforceなどのSaaS製品と日々向き合っています。

コメントを残す

名前は任意です。未入力の場合は「匿名」として投稿されます。