Trailhead PlaygroundやDeveloper Edition環境での例は以下の通りですが、任意の選択リスト項目で同様の考え方が適用できます。
CASE(PRIORVALUE(StageName),
'Prospecting',1,
'Qualification',2,
'Needs Analysis',3,
'Value Proposition',4,
'Id. Decision Makers',5,
'Perception Analysis',6,
'Proposal/Price Quote',7,
'Negotiation/Review',8,
'Closed Won',9,
'Closed Lost',9,
0)
>
CASE(StageName,
'Prospecting',1,
'Qualification',2,
'Needs Analysis',3,
'Value Proposition',4,
'Id. Decision Makers',5,
'Perception Analysis',6,
'Proposal/Price Quote',7,
'Negotiation/Review',8,
'Closed Won',9,
'Closed Lost',9,
0)
資料に挙げた、「来年から金額が変わる」のようなユースケースに対応するには、カスタムメタデータに1つ項目を追加し、数式項目を修正する必要があります(ぜひチャレンジしてみてください)。もちろん数式に直接日付と金額を記載することもできます。カスタムメタデータを利用するかは各組織のビジネス要件次第ですが、覚えておくと役に立つ日が来ると思います。
IF(Account.ShippingState = $CustomMetadata.Terakoya_Shipping_Cost__mdt.Tokyo.MasterLabel ,
$CustomMetadata.Terakoya_Shipping_Cost__mdt.Tokyo.Cost__c ,
$CustomMetadata.Terakoya_Shipping_Cost__mdt.Others.Cost__c
)
NOT(
CONTAINS(
'北海道:青森県:岩手県:宮城県:秋田県:山形県:福島県:茨城県:栃木県:群馬県:埼玉県:千葉県:東京都:神奈川県:新潟県:富山県:石川県:福井県:山梨県:長野県:岐阜県:静岡県:愛知県:三重県:滋賀県:京都府:大阪府:兵庫県:奈良県:和歌山県:鳥取県:島根県:岡山県:広島県:山口県:徳島県:香川県:愛媛県:高知県:福岡県:佐賀県:長崎県:熊本県:大分県:宮崎県:鹿児島県:沖縄県',
ShippingState
)
)
|| LEN(ShippingState) < 3
IF(RecordType.DeveloperName = 'Alcohol', Price__c * 1.1 , Price__c * 1.08 )
または、
Price__c * IF(RecordType.DeveloperName = 'Alcohol', 1.1 , 1.08 )
あるいは、Q1で利用したCASE文を使っても表現できます。ぜひチャレンジしてみてください。
NOT($Permission.Terakoya_Discount) && Discount_Rate__c > 0.3