
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では記述に以下のルールがあります。
- API名(項目名)はダブルクォーテーション
""
で囲む
例:"Department"
- 文字列リテラル(値)はシングルクォーテーション
''
で囲む
例:'海外営業部'
- 数値はクォーテーションで囲む必要はない
例: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関数のように使えるが、複数条件をスマートに記述できる
レポートやダッシュボードを作成する際に役立つので、ぜひ活用してみてください。