Table of Contents
Introduction
Let’s take a deep dive into those formula fields in Salesforce that involves numbers → Number, Currency, and Percentages!
Numbers being the simplest of all three, are a delight to work with! We can create formula fields in Salesforce that returns a numeric value, and they can have anywhere between 0 to 18 digits in the decimal place. These Numbers can be positive or negative, integer or decimal! Numbers are great for measurements such as dimension, volume, temperature, and populations, to name a few.
Percents are quite similar to numbers, except they have their own data type. They’re represented as a number with a percentage sign attached to them. When we say percent, what we’re really saying is per 100. A percent gets stored as a number divided by 100. For example, 100% is represented as 1, and 2% as 0.02. Percents can be used to represent Discounts, Bank Interest Rates, etc.
The currency also has its own data type. Currency values come with a currency sign built-in. For example, if your org has USD as its currency, all formulas returning Currency will have the dollar sign attached. For example, 100 dollars would be represented as $100.
When we create a custom formula field that uses Currency, they aren’t associated with any particular currency. And if your org has multi-currency enabled, the result of the currency formula depends on the associated record.
We can mix and match these three numeric data types in formulas. And a point to keep in mind. → The value returned by these formulas can’t be more than 18 digits length, including the digits before and after the decimal point.
Common Number, Currency, and Percent Functions and Operators
When working with numbers, we’ll often use functions and operators. Let’s get to know a couple of the frequently used functions and operators.
Mathematical Operators
I’m sure we’re all familiar with a couple of these mathematical operators we’ve used since our earliest arithmetic classes. We can add (+), subtract (-), multiply (*), and divide (/) numbers, additionally, we can use exponentiation (^) to multiply a number a certain number of times with itself.
The next set of operators is used to compare two numerical values. We can use greater than (>), less than (<), greater than or equal (>=), or less than or equal (<=). To check if two numbers are equal to each other, we can use =. We can use do not equals, and they can be written as != or <>, to check if two numbers are not equal.
Mathematical Functions
We can access mathematical functions too in the formula editor. A few of the frequently used functions include:
- ROUND(number, num_digits) – Returns a number to a specified number of digits. It uses the round half-up rule, meaning halfway digits are always rounded up.
Example: ROUND( 1.45,1) = 1.5 , ROUND( 1.42,1) = 1.4
- ABS(number) – Returns the absolute value of a number, a number without it’s sign.
Example: ABS(-10) = 10.
- MAX(number, number,…) – Returns the greatest of all the arguments.
Example: MAX(10,20,5) = 10.
Use Numbers, Currency, and Percentages in Formulas
Let’s use the number, currency, and percentage fields to create some magic!
Create a Custom Field for the Principal
Principal represents the sum of money invested or lent on which interest is paid. We’ll be using this field to calculate an interest rate that we can use to compute the amount of compounded interest on the account.
- From Setup, open Object Manager.
- Open Account, and select Fields & Relationships from the sidebar.
- Click New.
- Select Currency for Data Type, and then click Next.
- For Field Label, enter Principal.
- Change Length to 16, and enter 2 for Decimal Places.
- Click Next, Next, and Save.
Calculate Percent Interest
Let’s calculate the interest rate for the account. If the principal balance is less than $10,000, the interest rate is 2% or 0.02. If the balance is between $10,000 and $50,00, the interest rate is 3%, or 0.03. If the balance is over $50,000, the interest rate is 4% or 0.04.
- From Setup, open Object Manager, and click Account.
- Open Fields & Relationships from the sidebar.
- Click New.
- Select Formula for Data Type. And then click Next.
- In the Field Label, enter Interest Rate.
- For Formula Return Type, select Percent and then click Next.
- Click Next, Next, and Save.
Enter the following formula:
IF ( Principal__c < 10000, 0.02, IF( Principal__c >=10000 && Principal__c <50000, 0.03, 0.04))
Calculate Accumulated Interest on an Account
Now that we have a principal amount and an associated interest rate, let’s calculate the accumulated interest on the account. We’ll be using this formula to calculate the accumulated interest on the account.
- From Setup, open Object Manager, and click Account.
- Open Fields & Relationships from the sidebar.
- Click New.
- Select Formula for Data Type. And then click Next.
- In the Field Label, enter Accumulated Interest.
- For Formula Return Type, select Currency, and then click Next.
- After you enter the formula given below, Click Next, Next and Save.
Principal__c * EXP( Interest_Rate__c * ( YEAR( TODAY()) - VALUE ( YearStarted )))
The functions we’ve used here include the following:
- EXP (number) – Returns e raised to the power of a given number.
- YEAR date) -Returns the year of a date.
- TODAY() – Returns the current date.
- VALUE(text) – Converts a text string that represents a number to a number.
Number Formula Examples
1. Convert Fahrenheit Temperatures to Celsius
(( Fahrenheit__c - 32) * 5 ) / 9
2. Convert Miles to Kilometres
Miles__c / 0.6213711921
3. Sales Commission
We’ll use the function MIN(), which returns the smallest of all the arguments. The commission earned by a salesperson is the lesser amount between $ 1,000 and the percent commission multiplied by the sales amount.
MIN(1000, Sale__c * Commission__c)
4. Volume of a Cube
The function, PI(), returns the value of Pi.
4/3 * PI() * ( Radius__c ^ 3 )
Common Errors with Number Formulas
It’s natural to encounter errors when working with formulas. Let’s take a look at some common errors.
1. Division by Zero
If your formula divides by zero, you’ll run into an error later on. If you’re dividing two numbers, ensure that the denominator is never zero. If you still need to divide a number by zero, we can work around that issue using an IF() statement.
For Example, if we need to avoid dividing a number by zero, let’s do the following to avoid an error:
IF(Field__c <> 0, 25/Field__c, 0)
2. Checking empty fields
It’s quite tempting to check if a field is blank using the equal (=) or not equal operator (!=). But the best practice in this scenario is to use the built-in function ISBLANK() to check whether the field is empty or not. The function checks whether an expression is blank or not and returns TRUE if it is blank.
When we create a formula, we can choose to treat the empty fields as either blanks or zeroes. By default, Treat blank fields as zero is chosen. To check whether a field is empty using ISBLANK(), select Treat blank fields as blank.
0 Comments