2023年11月8日
前回に引き続き、ApplicationBuilder試験対策問題の問題を取り上げました。
日々「構文エラー」のメッセージと戦っており、今回も数式の問題にチャレンジしていきます。
問題を読んでも、すぐに解答が浮かばない場合は2ページ目のヒントを参考に、解答となる数式を考えてみてください。
解答と解説の後には、実際に設定してエラー表示の確認もしています。
お時間があれば、ぜひ設定までやってみてください。
Cloud Kicks(CK)は、取引が成立したときに営業担当者がデータ入力に一貫性がないことを発見しています。 CKでは、カスタムシューズは締切日から2週間以内に発送する必要があります。商談の予定出荷日と呼ばれるカスタムフィールドには、出荷日が記録されます。クローズドウォンに機会を設定する前に、アプリビルダーはこのフィールドが適切に入力されていることをどのように確認する必要がありますか
A ISPICKVAL(StageName ,”Closed Won”) && (Scheduled_Ship_Date__c- CloseDate) > 14
B ISPICKVAL(StageName =”Closed Won”) && (CloseDate -Scheduled_Ship_Date__c – CloseDate) > 14
C OR(ISPICKVAL(StageName =”Closed Won”) &&(Scheduled_Ship_Date__c – CloseDate) >14,ISBLANK(Scheduled_Ship_Date__c))
D OR(ISPICKVAL(StageName ,”Closed Won”) &&(Scheduled_Ship_Date__c – CloseDate) >14,ISBLANK(Scheduled_Ship_Date__c))
解答がすぐに思いつかない方は、次ページ以降のヒントを参考にしてください。
商談成立後、2週間以内に商品を出荷する必要がある
商談の予定出荷日というカスタム項目に適切な値が入力される必要がある
上記を満たす条件式を考える
① 商談フェーズ( StageName)が成立(Closed Won)になった時
② 予定出荷日(Scheduled_Ship_Date__c)に値の入力が必須
③ 予定出荷日(Scheduled_Ship_Date__c)に入力される値は商談成立日( CloseDate)から2週間以内
最後に①の条件を満たし、②または③の時、エラーメッセージを出す入力規則を考えます。
ISPICKVAL 選択リスト項目の値が指定したテキストリテラルと等しいかどうかを判断します。
(使用方法)ISPICKVAL(picklist_field, text_literal)。picklist_field には選択リストの差し込み項目名を、text_literal には引用符で囲んだ選択リストの値を指定。text_literal を差し込み項目、または関数の結果にすることはできません。
&& (AND) 2 つの値または式が両方とも true であるか評価します。
(使用方法)(logical1)&&(logical2)。logical1 と logical2 に、評価する値または式を指定します。
|| (OR) 複数の値または式のうち、少なくとも 1 つが true であるかどうかを評価します。この演算子は、論理関数 OR の代わりに使用します。
(使用方法) (logical1) || (logical2)。各番号の論理参照に評価する値または式を指定します。
OR(logical1, logical2…) を使用し、任意の数字の論理参照に、評価する式を指定します。
Cloud Kicks(CK)は、取引が成立したときに営業担当者がデータ入力に一貫性がないことを発見しています。 CKでは、カスタムシューズは締切日から2週間以内に発送する必要があります。商談の予定出荷日と呼ばれるカスタムフィールドには、出荷日が記録されます。クローズドウォンに機会を設定する前に、アプリビルダーはこのフィールドが適切に入力されていることをどのように確認する必要がありますか
A ISPICKVAL(StageName ,”Closed Won”) && (Scheduled_Ship_Date__c- CloseDate) > 14
予定出荷日が空欄だったらという式ISBLANK(Scheduled_Ship_Date__c))がないため、予定出荷日が空欄の場合でもエラーになりません。
B ISPICKVAL(StageName =”Closed Won”) && (CloseDate -Scheduled_Ship_Date__c – CloseDate) > 14
ISPICKVAL関数は、IISPICKVAL(picklist_field, ”text_literal”)の形で使用します。予定出荷日が空欄だったらという式ISBLANK(Scheduled_Ship_Date__c))がないため、予定出荷日が空欄の場合でもエラーになりません。
C OR(ISPICKVAL(StageName =”Closed Won”) &&(Scheduled_Ship_Date__c – CloseDate) > 14,ISBLANK(Scheduled_Ship_Date__c))
ISPICKVAL関数は、IISPICKVAL(picklist_field, ”text_literal”)の形で使用します。
D OR(ISPICKVAL(StageName ,”Closed Won”) &&(Scheduled_Ship_Date__c – CloseDate) > 14,ISBLANK(Scheduled_Ship_Date__c))
商談成立後、予定出荷日には商談成立日から2週間以内の値しか入力できません。
商談成立後、予定出荷日に値が入力される必要があります。
OR X && Y , Z は、XかつY、XかつZとい条件を表します。
正解は… D
問題のシナリオにしたがって、①~⑤の手順で、入力規則を設定してみましょう。
①商談に「予定出荷日」というカスタム項目を作成
②「カスタムシューズ」という商談を作成
③入力規則の数式を作成
④商談の「予定出荷日」入力規則を設定
⑤商談成立後の画面で、入力規則を確認
問題のシナリオにしたがって商談を作成し、入力規則作成後に商談成立の場合は良いですが、直ぐに商談成立にならない場合、解答となる数式を使っても、フェーズが変わるたびにエラーが出てしまいました。
問題の解答としては、Dの式で良いようですが、入力規則作成後、商談が成立する前に商談データを更新する可能性も考えて、以下の式も作成してみました。
ISPICKVAL(StageName ,”Closed Won”) && ((Scheduled_Ship_Date__c – CloseDate) > 14 || ISBLANK(Scheduled_Ship_Date__c))
こちらの式ですと、商談完了前にデータの更新をしてもエラーが出ませんでした。
こちらの式も試してみてください。
初心者にとって、数式は難しい、なんだかとっつきにくいと感じる方も多いのではないでしょうか?
初めのうちは、見本を写すだけでもエラーが出て絶望しましたが、数式のエディターに慣れてくると、「項目の挿入」、「関数の挿入」、「構文チェック」の助けを借りながら、少しずつ正しい数式が書けるようになりました。
少し長い式になると、毎回ドキドキしながら書いている私ですが、Salesforceのステップアップには数式は避けて通れないと感じています。
前回と今回で確認したことは最低限覚えておきたい数式の演算子や関数です。記事を見ながら、ぜひ実際に設定を確認してみてください。
入力規則の例
https://help.salesforce.com/s/articleView?id=sf.fields_useful_field_validation_formulas.htm&type=5
すべての数式の演算子と関数
https://help.salesforce.com/s/articleView?id=sf.customize_functions_parent.htm&type=5
&&(AND)
https://help.salesforce.com/s/articleView?id=sf.customize_functions_and.htm&type=5
OR
https://help.salesforce.com/s/articleView?id=sf.customize_functions_or_0.htm&type=5]
コンテキストごとの数式の演算子と関数
https://help.salesforce.com/s/articleView?id=sf.customize_functions.htm&type=5