LoginSignup
18
12

More than 5 years have passed since last update.

数式

Last updated at Posted at 2017-01-24

数式のHELP

項目のNULL判定

ISNULL(項目API名)
ISBLANK(項目API名) テキスト項目サポートをISNULLに加えた関数
ISNULL(Datatype__c)
多くの型(テキスト型、参照型)がISNULLだとうまく判定できないので、ISBLANKの方が安全

数式の数値項目で ISNULL判定がうまく動かない場合は、数式フィールドの下記の設定をチェックする。「0として処理する」だと期待したように動かない。
Screen Shot 2018-10-09 at 18.22.58.png

選択リストとの値の比較

ISPICKVAL(項目API名, '項目値')
ISPICKVAL(DataType__c, '選択リスト')

選択リストのNULL判定

ISBLANK(TEXT(項目API名))

チェックボックスがOFFの判定

NOT(項目API名),

IF判定

IF(条件式,trueの値,falseの値)
IF(ISNULL(Datatype__c),true,false) //Datatype__cはテキスト型
IF(IsAnswered, '回答済み','未回答') //IsAnsweredはcheckbox型

項目が更新されたかどうか

ISCHANGED(項目API名)

更新前の値の取得

PRIORVALUE(項目API名)
ISPICKVAL(PRIORVALUE(項目API名), '項目値')

文字列の連結

Year(RecordedDate__c ) & "/" & Month(RecordedDate__c)

相対月の算出

前年同月の比較とかを行いたい場合に利用(0:当月、-12:前年同月という感じの値となる)
( (Year(RecordedDate__c) - Year(today())) * 12 ) + (Month(RecordedDate__c) - Month(today()))

四半期の算出

CASE(
    MONTH(TODAY()),

    1, 1,
    2, 1,
    3, 1,

    4, 2,
    5, 2,
    6, 2,

    7, 3,
    8, 3,
    9, 3,

    4
)

日付に営業日を加算する

次の数式は、指定した date から 3 営業日後を確認する。

CASE( 
  MOD( date - DATE( 1900, 1, 7 ), 7 ),
  3, date + 2 + 3,
  4, date + 2 + 3,
  5, date + 2 + 3,
  6, date + 1 + 3,
  date + 3
)

この数式は、date 項目値の曜日を確認します。日付が水、木、金曜日の場合5日 (週末 2 日と 3 日) が加算される。

複数の条件の判定

AND(xxx, xxx)
OR(xxxx, xxxx)

数値の判定

ISNUMBER(XXX__c)

数値、テキスト変換

VALUE(xxx__c) //数値に変換
TEXT(xxx__c) //テキストに変換

新規レコードの作成の判定

ISNEW()

自分が所有者かどうかの判定

$User.xx はログインユーザーによって値が変化する
OwnerId <> $User.Id

商談の所有者がログインユーザーと同じ部門かを判定

(Userオブジェクトにカスタムフィールド department__c が設定されていることが前提)

AND($User.department__c != null, 
    $User.department__c = Owner.department__c)

Validation Rules(入力チェック)の例

特定のプロファイルのユーザーに、自分が所有者ではないレコードの更新を禁止させるためのValidation。
ただし、xxx__c 項目への更新だけは許可する。

AND( 
 NOT(ISNEW()), 
 OwnerId <> $User.Id, 
 OR( 
  $Profile.Name='Admin User', 
  $Profile.Name='Marketing User' 
 ), 
 NOT(ISCHANGED(xxx__c)) 
)

カスタム設定の参照

階層型のみサポートされる。
{!$Setup.CustomSettingName__c.CustomFieldName__c}

SalesforceのベースURLを取得

LEFT($Api.Partner_Server_URL_XXX, FIND( '/services', $Api.Partner_Server_URL_XXX))

Partner_Server_URL_URL_XXX はAPIバージョン
https://xxx.cs31.my.salesforce.com/ のようなURLを取得可能

18
12
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
18
12