Scenario Overview
In this scenario we will demonstrate how to set up a simple Decision Table to convert short-hand notation into numeric values.
Sales agents working on the Opportunity entity want to just type 3.4m into a custom field and have the Estimated Revenue field be updated to 3400000.
This example will take account of the following letters
- k, K - Thousand
- m, M - Millions
- b, B - Billions
The reason we do this in a Decision Table is that it can easily be expanded to accommodate additional short hand notation like mi, mil, g, ks etc. as needed by just adding an additional Calculation and Action for each of them.
The North52 Decision Suite solution works like this:
- A formula of type Save - To Current Record is created on the Opportunity entity
- The Source Property is set to 'Short Revenue'
- The Target Property is set to 'Est. Revenue'
- The Event is set to 'Create & Update'
- Exit on First Match is turned On (checked)
Calculations Table
The Calculations Table has 3 calculations in this Decision Table:
- FoundLetterK - Looks for the letter K (thousands)
- FoundLetterM - Looks for the letter M (millions)
- FoundLetterB - Looks for the letter B (billions)
Calculations :
FoundLetterK
If(IndexOf(Upper([opportunity.new_shortrev]), 'K', '0') > 0, true, false)
|
FoundLetterM
If(IndexOf(Upper([opportunity.new_shortrev]), 'M', '0') > 0, true, false)
|
FoundLetterB
If(IndexOf(Upper([opportunity.new_shortrev]), 'B', '0') > 0, true, false)
Actions The Actions tab has 3 actions on this Decision Table- K Multiply
- M Multiply
- B Multiply
The Trim() function removes the small letter or Capital letter from the end of the number e.g. 35.6k becomes 35.6. Truncate() is used to remove an any unnecessary zeros after the decimal place.
CalculationsK Multiply
Truncate(Trim( [opportunity.new_shortrev], 'k', 'K') * 1000)
| M Multiply
Truncate(Trim( [opportunity.new_shortrev], 'm', 'M') * 1000000)
| B Multiply
Truncate(Trim( [opportunity.new_shortrev], 'b', 'B') * 10000000000)
The Decision Table In the screenshot below you can see that the Conditions and Actions have been added to the Decision Table.
If FoundLetterK returns true, then the Decision Table will execute K multiply etc.
|
|
Did you know?
North52 helps you automatically test Dynamics 365 projects
North52's TestShield helps you test Dynamics 365 projects:
- FASTER - Our no code solution delivers automated CRM project testing faster
- EASIER - Simple to use point-and-click interface to build simple or complex testing plans
- SMARTER - Lower your project risk and slash ongoing costs with automated process testing
Learn more about TestShield