2023年10月6日
この春からSalesforceに関わるお仕事をさせていただいています。
みなさんは、Salesforceの試験対策をどのように取り組みますか?
私は、試験問題の対策には有志の方の対策サイトを参考にさせていただいていますが、
公式問題集ではないので、残念ながら解説がありません。
そこで、正解の理由はもちろん不正解の理由も考えながら解いていきます。
今回は、私が取り組んだ問題の中から、ApplicationBuilder試験対策問題を取り上げました。
問題を解くとき、正解不正解の理由を考える際の参考ににSalesforceのヘルプをまとめたものを共有しています。
問題
Nickname__c は、メール テンプレートに表示される連絡先名を上書きするために使用される、連絡先レコードのカスタム テキスト フィールドです。このフィールドは必須ではなく、常に入力されているわけではありません。電子メール通信用の連絡先の優先名を選択するためにアプリ ビルダーが使用する式はどれですか?
解答がすぐに思いつかない方は、以降の数式と関数についてSalesforceヘルプの抜粋を参考にしてください。
数式には、項目、演算子、関数、リテラル値、他の数式への参照を含めることができます。数式を作成するときには、次の要素を使用します。
リテラル値 :計算または変更されていない入力テキスト文字列または数値。
項目参照:差し込み項目を使用して、別のカスタムまたは標準項目の値を参照します。
関数:入力値に対して値を返すシステム定義の数式。入力値が不要の場合もあります。たとえば、TODAY() は入力値が不要で、現在の日付を返します。TEXT(value) 関数は、パーセント、数字、または通貨を入力する必要があり、テキストを返します。
演算子:実行する計算の種類または計算の順序を指定する記号。たとえば、+ 記号は、2 つの値を加算します。括弧および閉じ括弧は、最初に計算する式を指定します。
TEXT 数式を使用するすべての場所で、パーセント、数値、日付、日付/時間、または通貨の各項目のデータ型をテキストに変換
使用方法 TEXT(value)。value に、テキスト形式に変換する項目または式を指定。
IF 式が真か偽かを判断します。真の場合は与えられた値を返し、偽の場合は別の値を返します。
使用方法 IF(logical_test, value_if_true, value_if_false)。logical_test に、評価する式を指定。value_if_true に、式が真の場合に返す値を指定します。value_if_false に、式が偽の場合に返す値を指定します。value_if_true 式と value_if_false 式は、必ず同じデータ型。
ISBLANK 式に値があるかどうかを判断し、ない場合は TRUE を返します。値を含む場合は FALSE を返します。
使用方法 ISBLANK(expression)。expression に、評価する式を指定します。
BLANKVALUE 式に値があるかどうかを判断し、ない場合は代替式を返します。式に値がある場合は、式の値を返します。
使用方法BLANKVALUE(expression, substitute_expression)。expression に、評価する式を指定します。substitute_expression に、空白値を置き換える値を指定します。
ISNULL 式が null (空白) かどうかを判断し、該当する場合は TRUE を返します。値を含む場合は FALSE を返します。
使用方法ISNULL(expression)。expression に、評価する式を指定します。
ヒント 新しい数式では、NULLVALUE の代わりに BLANKVALUE を使用してください。BLANKVALUE には NULLVALUE と同じ機能がありますが、さらにテキスト項目がサポートされています。Salesforce では NULLVALUE が継続してサポートされるため、既存の数式を変更する必要はありません。
問題
Nickname__c は、メール テンプレートに表示される連絡先名を上書きするために使用される、連絡先レコードのカスタム テキスト フィールドです。このフィールドは必須ではなく、常に入力されているわけではありません。電子メール通信用の連絡先の優先名を選択するためにアプリ ビルダーが使用する式はどれですか?
A. IF(TEXT(Nickname__c), Nickname__c,FirstName)
TEXT(Nickname__c),は変換式なのでIF文の条件式には使えません。
B. IF(NOT(ISBLANK(Nickname__c)),Nickname__c,FirstName)
「空欄でない」場合にtrueとなり、Nickname__cで上書きします。
C. IF(NOT(BLANKVALUE(Nickname__c)),Nickname__c, FirstName)
BLANKVALUEは空白値を置き換える関数だが、BLANKVALUE(評価する式を指定、 空白値を置き換える値を指定)の様に使う。この場合IFは不要。
D. IF(ISNULL(Nickname__c),Nickname__c,FirstName)
テキスト項目はNULLにならないので常にFalseを返します。ISBLANKはISNULLの機能のテキスト項目をサポートしたもの。
正解は… ⇒ 正解はB
①取引先責任者にニックネーム(Nickname)というカスタム項目を作成
②メールテンプレートに差し込む数式項目を取引先責任者オブジェクトに作成(解答を使用)
③メールテンプレートを作成
④メール作成画面で、宛先の入力状況によって入力される値が変わることを確認
私は解答が思い浮かばないとき、頭の中だけで考えるより、ヘルプ等を参考に手を動かして考えるほうが好きです。
今回取り上げたのはたった1問ですが、時々このようにじっくり取り組んでみると、テストの時に使用場面を思い浮かべやすく、
長文のシナリオ問題にも対応できる力が付くと感じています。
また、問題を解くときに「どんな場面でどのように使うのか」まで考え、実際に設定してみると、現場でも使えそうな気がしませんか?
初めてのブログなので、伝わりにくい部分もあったかもしれません。ご質問やご提案があれば、ぜひフィードバックしてください。
皆さんのお役立てるような記事にしていきたいと思っています。
コンテキストごとの数式の演算子と関数
https://help.salesforce.com/s/articleView?id=sf.customize_functions.htm&type=5
数式の要素
https://help.salesforce.com/s/articleView?id=sf.elements_of_a_formula.htm&type=5
数式項目の作成