2022/07/19

SalesforceにおけるCase関数の使用方法と使用例を解説

 
  

SalesforceにおけるCase関数とは?

Case関数とは値と結果の組合わせから式にマッチする結果を返す関数です。 SalesforceにはIf関数のように式の真偽で返値を振り分けられる関数がありますが、API参照などの値によって返値を多数に振り分けたい場合、その処理をIf関数で実現しようとすると複雑な文で表現しなくてはいけないことがあります。 Salesforceではこの処理をCase関数を使って実現できます。Case関数を使用すると、シンプルな文で表現できるので、エラーの混入を防ぐことにも役立ちます。 それではCase関数の概要や使用方法などについて見ていきましょう。

SalesforceにおけるCase関数の使用方法

Case関数には式、値と結果の組合わせ、デフォルト値が必要です。 ここではCase関数の使用方法として構文と、その使用例を解説します。複数の使用例を元に、各ケースにおける使用方法を身に付けましょう。

Case関数の構文

Case関数の構文は、結果振り分けの基となる式、値と結果の組合わせ、デフォルト値で構成されます。 下記構文に従い実行することで、式の内容に応じた結果が得られます。

CASE(式, 値1, 結果1, 値2, 結果2, ... 値n, 結果n, デフォルト値)

引数「式」には振り分けの基となる式としてリテラル値やAPI参照名、数式等を、引数「値1~値n」には「式」を振り分けるための値を、引数「結果1~結果n」には「値1~値n」に対応する結果を、引数「デフォルト値」には「式」が「値1~値n」のどの値にもマッチしなかった場合に返す値を与えます。 ただしSalesforceにおいて、「値1~値n」のデータ型それぞれ、「結果1~結果n」のデータ型それぞれは同じデータ型でなくてはいけません。

Case関数の使用例

Case関数の使用例と返値を解説します。 Case関数は以下のように使用します。具体的な構文と返値を見ていきましょう。

CASE(sample_data,
1, ""Data A"",
2, ""Data B"",
3, ""Data C"",
""None"")

sample_dataの値によって返値を振り分けます。sample_dataが1の場合は””Data A””を、2の場合は””Data B””を、3の場合は””Data C””を、いずれにもマッチしない場合は””None””返します。 この例はIf関数では以下のように表現できます。

IF(sample_data = 1, ""Data A"",
 IF(sample_data = 2, ""Data B"",
  IF(sample_data = 3, ""Data C"", ""None"")
 )
)

振り分ける値が多くなればなるほどIf関数は複雑になるため、Case関数を使うと可読性が高くなることが分かります。 このようにCase関数は式の値によって返値を振り分ける場合に便利な関数なので、例えば日付データを基に曜日や月を文字列で得たい場合などにも使えます。

CASE(WEEKDAY(sample_date)
1, ""Sun"",
2, ""Mon"",
3, ""Tue"",
4, ""Wed"",
5, ""Thu"",
6, ""Fri"",
7, ""Sat"",
"""")

WEEKDAY関数で返される値を基に曜日を文字列で返します。

Case関数を活用しよう!

今回は、SalesforceにおけるCase関数について解説しました。 いくつかの使用例を元にCase関数の使い方を見てきました。式によって結果を振り分けられるCase関数は、Salesforceにおいて条件による多分岐をシンプルに表現できる関数です。有効に利用できる関数ですので、是非活用できるようにしておきましょう。

ITエンジニアへのキャリアチェンジならキャリアチェンジアカデミー

この記事の監修者・著者

株式会社オープンアップITエンジニア
株式会社オープンアップITエンジニア
未経験からITエンジニアへのキャリアチェンジを支援するサイト「キャリアチェンジアカデミー」を運営。これまで4500人以上のITエンジニアを未経験から育成・排出してきました。
・AWS、salesforce、LPICの合計認定資格取得件数:2100以上(2023年6月時点)
・AWS Japan Certification Award 2020 ライジングスター of the Year 受賞

おすすめの動画

  • 【未経験からIT業界へ転職するなら】相談窓口とスキルの獲得はここで解決!IT転職が一気に有利に!【キャリアチェンジアカデミー】

  • 【費用一切不要】未経験からIT業界へ転職するならまずはここへ相談!【キャリアチェンジアカデミー】

  • 【何のエンジニアになれるのか?】未経験からITエンジニアを目指すとこんな道がある【キャリアチェンジアカデミー】