この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

単純な case 演算子

caseforeach ステートメントで使用すると、状況に応じてさまざまな項目値を割り当てることができます。case では、検索 case と単純な case の 2 つの構文形式がサポートされています。このセクションでは、単純な case について説明します。

構文

1case 
2  primary_expr 
3  when test_expr then result_expr
4  [when test_expr2 then result_expr2 ]   
5  [else default_expr ]
6end

case...end は、case 演算子を開いて閉じるためのものです。

primary_expr は、単一の入力値を取り込み、単一の出力値を返す任意の式です。値、識別子、およびスカラー関数 (日付関数や算術関数を含む) などを含めることができます。この式は、数値、文字列、または日付を返すことができます。

when...then は、条件ステートメントを定義するためのものです。case 式には、1 つ以上の条件ステートメントを含めることができます。

test_expr は、単一の入力値を取り込み、単一の出力値を返す任意の式です。値、識別子、およびスカラー関数 (日付関数や算術関数を含む) などを含めることができます。この式は、primary_expr と同じデータ型を返す必要があります。

result_expr は、単一の入力値を取り込み、単一の出力値を返す任意の式です。値、識別子、およびスカラー関数 (日付関数や算術関数を含む) などを含めることができます。この式は、primary_expr と同じデータ型を返す必要があります。

else default_expr (省略可能) は、単一の入力値を取り込み、単一の出力値を返す任意の式です。値、識別子、およびスカラー関数 (日付関数や算術関数を含む) などを含めることができます。この式は、数値、文字列、または日付を返すことができます。

使用方法

ステートメントは、指定された順序で評価されます。test_exprtrue を返した場合は、対応する result_expr が返されます。when/then ステートメントは、いくつでも指定できます。

デフォルトの式を指定するには、else を使用します。たとえば、業種を指定しない場合は、「業種は指定されていません」という文字列を使用します。デフォルトのステートメントを指定しない場合は、null が返されます。

case 式は、foreach ステートメントで使用できます。caseordergroupfilter の各ステートメントで使用することはできません。

業種コードの意味を示すディメンションを作成するとします。case を使用して Industry_Code 項目を解析し、対応する文字列を指定します。

1q = foreach q generate Amount as 'Amount', 'Industry_Code' as 'Industry_Code', (case 'Industry_Code'
2      when 541611 then "Consulting services"     
3      when 541800 then "Advertising" 
4      when 561400 then "Support services" 
5      else "Unspecified"
6end) as 'Industry';

結果のデータには、業種コードの意味が示されています。

Time to Win (商談成立日数) を表示する派生ディメンション

null 値の処理

通常、null 値は比較できません。primary_expr または test_exprnull に評価されたときは、default_expr が返されます。デフォルトの式が指定されていない場合は、null が返されます。