Formula Magic<br />Administrators<br />Bruce Coe: salesforce.com<br />Lori Sarsfield: salesforce.com<br />Martha Seneta: E...
Safe Harbor<br />Safe harbor statement under the Private Securities Litigation Reform Act of 1995: This presentation may c...
Formula Magic: Agenda<br />Introduction / Goals<br />Case Studies: Lori Sarsfield<br />Formula Essentials<br />Guest Speak...
Formula Magic: Goals<br /><ul><li>Demonstrate the power and flexibility of formulas
Examine advanced formula solutions in case studies
Discuss formula essentials and methodology
Distinguish formula solutions vs. Apex coding</li></li></ul><li>Formula Magic: Key Takeaways<br /><ul><li>Learn new ways t...
Add to your formula knowledge arsenal
Simplify formula creation and maintenance
Learn ways to teach formulas to your co-admins</li></ul>Make the system work for you!<br />
Automation = Better Data + Less Work<br />Reduce / eliminate:<br />Manual, redundant data entry<br />Loss of data integrit...
Formula Magic: Bottom Line<br />Make the system work for you!<br />
Lori Sarsfield<br />salesforce.com<br />Professional Services<br />
Improve the User Productivity!<br />Samples of real world formulas:<br />To provide better reporting, filtering capabiliti...
Owner Field Formulas<br />Have you ever needed access to additional record owner attributes to:<br />Use with mail merge f...
Owner Field Formulas<br />Hey – why don’t I just formula fields to pull in owner attributes?!?!?<br />No “>” next to the o...
Owner Attributes Solution Example<br />Use apex and formula fields to easily solve<br />Step 1: Create a custom lookup fie...
Owner Attributes Solution Example<br />Custom user lookup field allows cross object access to all user fields!<br />
Owner Attributes Solution Example<br />Pull in owner contact info to include in mail merges!<br />Use formulas to split ou...
Facilitating Cross Sell/UpSell<br />Current view of products owned by a customer using a related list<br />
Alternate Solution<br />Use roll up summary and image formula fields to display current product ownership and opportunitie...
Solution Details<br />Create roll up summary fields that COUNTS the number of product records of certain types to the cust...
Solution Details<br />Create IMAGE formula fields to display a visual indicator for product ownership and add these to the...
REGEX Formula Function<br />What the heck is a “regular expression”?<br />A template for the format of text strings<br />T...
Sample REGEX Application<br />Have you ever had a request to have date picker fields go back more than one year?<br />
Alternative Date Field Solution<br />Step 1: Create a custom text field for date entry & enforce use help text for format ...
Alternative Date Field Solution<br />Step 2: Create a validation rule with the REGEX function that validates the format en...
Alternative Date Field Solution<br />This date entry is accepted:<br />But this one is not:<br />
Take it one step further!<br />Create a workflow rule or use apex to copy this date into a standard date field hidden “beh...
Bruce Coe<br />salesforce.com<br />Premier Support<br />
Bruce Coe – Other Activities<br /><ul><li>AYSO soccer referee
Little League umpire
Guitar in Beatles tribute bands</li></li></ul><li>Formula Essentials<br />
Essentials: Formula Fields<br /><ul><li> Small scripts
 Display real-time result
 Do NOT store any data</li></li></ul><li>Essentials: Formula Fields<br /><ul><li> Always Read-ONLY
 Can call other formula fields</li></li></ul><li>Formula Fields calling other Formula Fields<br />Inherits the code of the...
Essentials: Formula Fields<br />Formula fields:<br /><ul><li>NEVER store data
NEVER in data exports
NEVER in Global Search
NEVER in Lead mapping
NEVER show up in [New] or [Edit]</li></li></ul><li>Formulas are NOT just in Formula Fields!!<br />Formulas are ALSO found ...
 Workflow Rules
 Assignment Rules
 Auto-Resonse Rules
 Escalation Rules</li></li></ul><li>Essentials: Validation Rules<br /><ul><li> Trigger on [Save]
 Display RED error message
 Prevent [Save] with invalid data</li></li></ul><li>The “IF” is implied <br />Formula: True/False<br />THEN  Show error<b...
Essentials: Validation Rules<br /><ul><li> Automatic reminder to user
 Enforces manual data correction</li></li></ul><li>Essentials: Workflow Rules<br /><ul><li> Triggered on [Save]
 Implied “IF”
 Condition (True/False)
 Implied “THEN” = Actions:
 Email
 Task
 Field Update
 Outbound Message (API call)</li></li></ul><li>Essentials: Workflow Rules<br />Pointers:<br /><ul><li>WF rules cannot call...
Cannot control order; so combine
Use TRUE in formula for ALWAYS</li></li></ul><li>Essentials: Workflow Rules<br />HOT TIP: WF Field Updates can have comple...
“…did not previously meet the rule criteria”<br />NOT record lifetime<br />[Edit]  [Save]<br />
Essentials: Other Rules<br />Assignment Rules,<br />	Escalation Rules,<br />		Auto-Response Rules:<br /><ul><li> Special-c...
 Use either these or custom WF rules</li></li></ul><li>Order of Execution<br />Browse to:<br />http://developer.force.com<...
Formula Return Type<br />Formula field formulas:<br />	Formula must return a value of the same data type as the Formula Re...
Formula Return Type<br />Formula fields CANNOT return some data types:     <br /><ul><li>Check box
Email
Phone
Picklist
Long Text
URL
Lookup</li></ul>Option: Use WF rule and a field update to a real data field<br />
Formula Visibility to Other Data<br />Formulas CAN see:<br />Fields on the current record<br />Fields on parent or grandpa...
End ofFormula Essentials<br />
Customer Speaker Martha Seneta<br />EnerNOC, Inc.<br />
EnerNOC:  Energy management services and applications<br />
Who is EnerNOC?<br />
What does EnerNOC do?<br />
What’s my role at EnerNOC?<br /><ul><li>Title:  Application Systems Analyst
Systems I support:  Salesforce.com, Service-now.com, and Crystal Reports
Responsibilities:Development and support; enhancement  prioritization and approval; release management; training and docum...
How to track customer/prospect verticals?<br />
What’s the problem?<br />Business need:  How to tailor to certain verticals?<br />Success in selling<br />Success in execu...
So, what source should we use for verticals?<br />NAICS Code<br />6 digits, each with an increased level of granularity<br...
How do we get the right level of detail?<br />The “3rd digit” of significance (sub-sector) seemed right for us<br />Narrow...
Use a formula to map the code to a meaning<br />Looking good, right?<br />
The formula’s too big!<br />Doh! . . .  we hit compiled-size limits!<br />
Breaking the formula into pieces<br />What if we split the formula across multiple fields?<br />It will pass compile-size ...
How will this work?<br />We don’t want 3 more fields on page layout<br />Don’t want to have to include 3 fields in reports...
Can we use a formula to combine the 3 fields?<br />Will this work?<br />
Compiled-size limit strikes again!<br />Referenced formulas are included in compiled size<br />
Workflow to the rescue!<br />Create final text field (not formula)<br />Workflow rule identifies changes to NAICS Code<br ...
Finally . . .  we got what we wanted!<br />Industry is now displayed at the desired level of granularity for all records w...
How to format “Phone” field in a way that will please everyone?<br />
What’s the problem?<br />Business need:  How to format phone field?<br /> Used for one-click dials, automated dials, and d...
Why not create separate Phone entry fields?<br />How would this work?<br />UK and US could enter their numbers in separate...
This is where formulas come in!<br />One field for data management, many fields for data consumption<br />Let’s keep the o...
We can satisfy the event notification vendor . . .<br />Create a separate entry field to capture extension<br />Use valida...
We can satisfy US-based Sales team . . .<br />Create a formula field to display the “Phone” field and the new “Phone Exten...
We can make it easy for US to dial int’l . . .<br />Use validation to ensure that international numbers are always entered...
We can make it easy for int’l to dial locally . . .<br />Create a formula field that removes the country codes<br />This e...
. . . And we can make it easy to de-dup<br />Create a formula field that removes commonly used punctuation marks, and disp...
Mission accomplished!<br />One place to manage data, many different views<br />Each field can be exposed only where needed...
A few points to consider<br />
Leverage all your configuration options<br />By splitting a formula into smaller pieces and utilizing workflow, we achieve...
Keep data entry in as few fields as possible<br />For reporting and data entry purposes, try to keep a single point of ent...
Configuration vs. coding<br />Examples we looked at could have been handled via coding rather than configuration.<br />Cod...
Formula Methodology<br />
Formula Design Methodology – PURPOSE!!<br /><ul><li>Achieve Business Need
Complete your automation quickly
Minimize complexity
Streamline maintenance
Make components easy to understand</li></li></ul><li>Formula Design Methodology – PROCESS!!<br />Discuss Business Need & p...
Upcoming SlideShare
Loading in...5
×

Formula Magic

15,327

Published on

Ever wonder how you can really exploit the power of formulas? Want to learn some new, advanced automation tricks? Well, this is the session for you! There are so many ways to use formula fields, roll-up summary fields, and workflow and validation rules effectively to drive data integrity, make calculations, and provide powerful insight for your users. Join us for this advanced session on how to build useful formulas designed to enhance your data and streamline your processes.

Published in: Business
0 Comments
9 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
15,327
On Slideshare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
325
Comments
0
Likes
9
Embeds 0
No embeds

No notes for slide
  • Bcoe: 3-1/2 years at SFDC, 4th Dreamforce, first time leading a breakout session, CS degree, programming background, and 16 years at Oracle in IT. Soccer referee and little League baseball umpire and play guitar in a couple Beatles tribute bands; Ticket2Ride and The Sun Kings.I work in Premier Support so have probably talked with some of you at some point. Meet me afterward to say “hi”.
  • Formula Magic

    1. 1. Formula Magic<br />Administrators<br />Bruce Coe: salesforce.com<br />Lori Sarsfield: salesforce.com<br />Martha Seneta: EnerNOC<br />Frank Loiseaux-Purcell: salesforce.com<br />
    2. 2. Safe Harbor<br />Safe harbor statement under the Private Securities Litigation Reform Act of 1995: This presentation may contain forward-looking statements that involve risks, uncertainties, and assumptions. If any such uncertainties materialize or if any of the assumptions proves incorrect, the results of salesforce.com, inc. could differ materially from the results expressed or implied by the forward-looking statements we make. All statements other than statements of historical fact could be deemed forward-looking, including any projections of subscriber growth, earnings, revenues, or other financial items and any statements regarding strategies or plans of management for future operations, statements of belief, any statements concerning new, planned, or upgraded services or technology developments and customer contracts or use of our services.<br />The risks and uncertainties referred to above include – but are not limited to – risks associated with developing and delivering new functionality for our service, our new business model, our past operating losses, possible fluctuations in our operating results and rate of growth, interruptions or delays in our Web hosting, breach of our security measures, the outcome of intellectual property and other litigation, risks associated with possible mergers and acquisitions, the immature market in which we operate, our relatively limited operating history, our ability to expand, retain, and motivate our employees and manage our growth, new releases of our service and successful customer deployment, our limited history reselling non-salesforce.com products, and utilization and selling to larger enterprise customers. Further information on potential factors that could affect the financial results of salesforce.com, inc. is included in our annual report on Form 10-K for the most recent fiscal year ended January 31, 2010. This documents and others are available on the SEC Filings section of the Investor Information section of our Web site. <br />Any unreleased services or features referenced in this or other press releases or public statements are not currently available and may not be delivered on time or at all. Customers who purchase our services should make the purchase decisions based upon features that are currently available. Salesforce.com, inc. assumes no obligation and does not intend to update these forward-looking statements.<br />
    3. 3. Formula Magic: Agenda<br />Introduction / Goals<br />Case Studies: Lori Sarsfield<br />Formula Essentials<br />Guest Speaker: Martha Seneta, EnerNOC<br />Formula Methodology<br />Case Studies: Frank Loiseaux-Purcell<br />Wrap-up Q&A<br />
    4. 4. Formula Magic: Goals<br /><ul><li>Demonstrate the power and flexibility of formulas
    5. 5. Examine advanced formula solutions in case studies
    6. 6. Discuss formula essentials and methodology
    7. 7. Distinguish formula solutions vs. Apex coding</li></li></ul><li>Formula Magic: Key Takeaways<br /><ul><li>Learn new ways to automate your processes
    8. 8. Add to your formula knowledge arsenal
    9. 9. Simplify formula creation and maintenance
    10. 10. Learn ways to teach formulas to your co-admins</li></ul>Make the system work for you!<br />
    11. 11. Automation = Better Data + Less Work<br />Reduce / eliminate:<br />Manual, redundant data entry<br />Loss of data integrity<br />Data errors<br />Increase / maximize:<br />Usage efficiency<br />Data integrity<br />Availability of reliable data<br />
    12. 12. Formula Magic: Bottom Line<br />Make the system work for you!<br />
    13. 13.
    14. 14. Lori Sarsfield<br />salesforce.com<br />Professional Services<br />
    15. 15. Improve the User Productivity!<br />Samples of real world formulas:<br />To provide better reporting, filtering capabilities to users<br />To improve identification of new business opportunities<br />To enforce data entry standards<br />
    16. 16. Owner Field Formulas<br />Have you ever needed access to additional record owner attributes to:<br />Use with mail merge functionality?<br />Display owner attributes on a detail record?<br />Facilitate reporting, list views, and campaign segmentation?<br />
    17. 17. Owner Field Formulas<br />Hey – why don’t I just formula fields to pull in owner attributes?!?!?<br />No “>” next to the owner field that provides access to related owner attributes<br />“>” is present for non-owner id lookups<br />
    18. 18. Owner Attributes Solution Example<br />Use apex and formula fields to easily solve<br />Step 1: Create a custom lookup field to the user object<br />Step 2: Create a simple trigger upon insert of record or update of Owner field to populate a custom user lookup field<br />Step 3: Create formula fields for any field on user object based on custom user lookup field<br />
    19. 19. Owner Attributes Solution Example<br />Custom user lookup field allows cross object access to all user fields!<br />
    20. 20. Owner Attributes Solution Example<br />Pull in owner contact info to include in mail merges!<br />Use formulas to split out owner Role name into attributes that can use used in reports, list views, or campaign filtering criteria!<br />
    21. 21. Facilitating Cross Sell/UpSell<br />Current view of products owned by a customer using a related list<br />
    22. 22. Alternate Solution<br />Use roll up summary and image formula fields to display current product ownership and opportunities for cross sell and upsell<br />
    23. 23. Solution Details<br />Create roll up summary fields that COUNTS the number of product records of certain types to the customer record<br />
    24. 24. Solution Details<br />Create IMAGE formula fields to display a visual indicator for product ownership and add these to the page<br />IMAGE( IF( Checking_Savings_RU__c >0, "/servlet/servlet.FileDownload?file=01580000001KPi5", "/servlet/servlet.FileDownload?file=01580000001KPiA"), "Product")<br />Id’s in formula reference check mark and “x” images saved in the documents tab<br />
    25. 25. REGEX Formula Function<br />What the heck is a “regular expression”?<br />A template for the format of text strings<br />Think: Social Security Numbers, Zip Codes, Dates<br />Commonly used in salesforce validation rules to enforce the format of text strings<br />*REGEX only available in SOME formula contexts (not formula fields)<br />
    26. 26. Sample REGEX Application<br />Have you ever had a request to have date picker fields go back more than one year?<br />
    27. 27. Alternative Date Field Solution<br />Step 1: Create a custom text field for date entry & enforce use help text for format assistance to user<br />
    28. 28. Alternative Date Field Solution<br />Step 2: Create a validation rule with the REGEX function that validates the format entered is valid:<br />You don’t need to be a developer to use these!<br />Samples found in online help & training<br />Example above was copied from an internet site<br />
    29. 29. Alternative Date Field Solution<br />This date entry is accepted:<br />But this one is not:<br />
    30. 30. Take it one step further!<br />Create a workflow rule or use apex to copy this date into a standard date field hidden “behind the scenes”<br />Converting to standard date field allows users to filter information on the date easier in list views, reports, etc<br />
    31. 31.
    32. 32. Bruce Coe<br />salesforce.com<br />Premier Support<br />
    33. 33. Bruce Coe – Other Activities<br /><ul><li>AYSO soccer referee
    34. 34. Little League umpire
    35. 35. Guitar in Beatles tribute bands</li></li></ul><li>Formula Essentials<br />
    36. 36. Essentials: Formula Fields<br /><ul><li> Small scripts
    37. 37. Display real-time result
    38. 38. Do NOT store any data</li></li></ul><li>Essentials: Formula Fields<br /><ul><li> Always Read-ONLY
    39. 39. Can call other formula fields</li></li></ul><li>Formula Fields calling other Formula Fields<br />Inherits the code of the referenced field, NOT the result.<br />That’s why… order doesn’t matter.<br />PROBLEM: Formula >5000 characters<br />SOLUTION: Wait & see!!...<br />
    40. 40. Essentials: Formula Fields<br />Formula fields:<br /><ul><li>NEVER store data
    41. 41. NEVER in data exports
    42. 42. NEVER in Global Search
    43. 43. NEVER in Lead mapping
    44. 44. NEVER show up in [New] or [Edit]</li></li></ul><li>Formulas are NOT just in Formula Fields!!<br />Formulas are ALSO found in…<br /><ul><li> Validation Rules
    45. 45. Workflow Rules
    46. 46. Assignment Rules
    47. 47. Auto-Resonse Rules
    48. 48. Escalation Rules</li></li></ul><li>Essentials: Validation Rules<br /><ul><li> Trigger on [Save]
    49. 49. Display RED error message
    50. 50. Prevent [Save] with invalid data</li></li></ul><li>The “IF” is implied <br />Formula: True/False<br />THEN  Show error<br />Essentials: Validation Rules<br />
    51. 51. Essentials: Validation Rules<br /><ul><li> Automatic reminder to user
    52. 52. Enforces manual data correction</li></li></ul><li>Essentials: Workflow Rules<br /><ul><li> Triggered on [Save]
    53. 53. Implied “IF”
    54. 54. Condition (True/False)
    55. 55. Implied “THEN” = Actions:
    56. 56. Email
    57. 57. Task
    58. 58. Field Update
    59. 59. Outbound Message (API call)</li></li></ul><li>Essentials: Workflow Rules<br />Pointers:<br /><ul><li>WF rules cannot call other WF rules
    60. 60. Cannot control order; so combine
    61. 61. Use TRUE in formula for ALWAYS</li></li></ul><li>Essentials: Workflow Rules<br />HOT TIP: WF Field Updates can have complex logic<br /> CASE( YEAR( due_date__c ),<br /> 2007, "INXS",<br /> 2008, "Foo- Fighters",<br /> 2009, "Black Crows",<br /> 2010, "Stevie Wonder",<br /> "TBD” )<br />
    62. 62. “…did not previously meet the rule criteria”<br />NOT record lifetime<br />[Edit]  [Save]<br />
    63. 63. Essentials: Other Rules<br />Assignment Rules,<br /> Escalation Rules,<br /> Auto-Response Rules:<br /><ul><li> Special-case workflow rules
    64. 64. Use either these or custom WF rules</li></li></ul><li>Order of Execution<br />Browse to:<br />http://developer.force.com<br />Search: “order [execution]”<br />
    65. 65. Formula Return Type<br />Formula field formulas:<br /> Formula must return a value of the same data type as the Formula Return Type<br />ALL other formulas (Rules):<br /> Return TRUE of FALSE (Boolean value) ONLY<br />
    66. 66. Formula Return Type<br />Formula fields CANNOT return some data types: <br /><ul><li>Check box
    67. 67. Email
    68. 68. Phone
    69. 69. Picklist
    70. 70. Long Text
    71. 71. URL
    72. 72. Lookup</li></ul>Option: Use WF rule and a field update to a real data field<br />
    73. 73. Formula Visibility to Other Data<br />Formulas CAN see:<br />Fields on the current record<br />Fields on parent or grandparent records (cross-object)<br />System information such as $Profile, $User<br />Formulas CANNOT see:<br />Other records in same object<br />Child records (use Rollup Summary Fields instead)<br />Unrelated objects<br />
    74. 74. End ofFormula Essentials<br />
    75. 75.
    76. 76. Customer Speaker Martha Seneta<br />EnerNOC, Inc.<br />
    77. 77. EnerNOC: Energy management services and applications<br />
    78. 78. Who is EnerNOC?<br />
    79. 79. What does EnerNOC do?<br />
    80. 80. What’s my role at EnerNOC?<br /><ul><li>Title: Application Systems Analyst
    81. 81. Systems I support: Salesforce.com, Service-now.com, and Crystal Reports
    82. 82. Responsibilities:Development and support; enhancement prioritization and approval; release management; training and documentation</li></li></ul><li>My other EnerNOC role . . .<br />
    83. 83. How to track customer/prospect verticals?<br />
    84. 84. What’s the problem?<br />Business need: How to tailor to certain verticals?<br />Success in selling<br />Success in execution<br />Business issues<br />Why not just have people select the “Industry” value?<br />Inaccuracies & inconsistencies<br />Takes time<br />Categorizations are too broad<br />Why not just use the data vendor’s “Industry” value?<br />Categorizations are too narrow<br />
    85. 85. So, what source should we use for verticals?<br />NAICS Code<br />6 digits, each with an increased level of granularity<br />As an example, consider NAICS Code 311330:<br />
    86. 86. How do we get the right level of detail?<br />The “3rd digit” of significance (sub-sector) seemed right for us<br />Narrow enough to be meaningful<br />Broad enough to facilitate reporting<br />This is where formulas come in!<br />
    87. 87. Use a formula to map the code to a meaning<br />Looking good, right?<br />
    88. 88. The formula’s too big!<br />Doh! . . . we hit compiled-size limits!<br />
    89. 89. Breaking the formula into pieces<br />What if we split the formula across multiple fields?<br />It will pass compile-size tests if we break it into 3 fields<br />“NAICS 3-Digit Industry 1-399”<br />“NAICS 3-Digit Industry 400-549”<br />“NAICS 3-Digit Industry 550-999”<br />Only 1 of the 3 fields will return a meaningful value<br />
    90. 90. How will this work?<br />We don’t want 3 more fields on page layout<br />Don’t want to have to include 3 fields in reports<br />
    91. 91. Can we use a formula to combine the 3 fields?<br />Will this work?<br />
    92. 92. Compiled-size limit strikes again!<br />Referenced formulas are included in compiled size<br />
    93. 93. Workflow to the rescue!<br />Create final text field (not formula)<br />Workflow rule identifies changes to NAICS Code<br />Field update consolidates formula results into text field<br />
    94. 94. Finally . . . we got what we wanted!<br />Industry is now displayed at the desired level of granularity for all records with a NAICS Code value!<br />
    95. 95. How to format “Phone” field in a way that will please everyone?<br />
    96. 96. What’s the problem?<br />Business need: How to format phone field?<br /> Used for one-click dials, automated dials, and de-duping<br />Business issue: Many different parties to satisfy<br />
    97. 97. Why not create separate Phone entry fields?<br />How would this work?<br />UK and US could enter their numbers in separate fields<br />Including extensions<br />Including or excluding country codes as needed<br />Ops could enter numbers in a different field without extensions<br />Lead Gen could enter numbers in another field with no formatting<br />Sounds like we’d be defeating the purpose of CRM!<br />Need to maintain a single point for management of phone number data<br />
    98. 98. This is where formulas come in!<br />One field for data management, many fields for data consumption<br />Let’s keep the out-of-the-box “Phone” field as our entry point for phone number content, and display that content in different ways using formula fields!<br />
    99. 99. We can satisfy the event notification vendor . . .<br />Create a separate entry field to capture extension<br />Use validation to ensure that no extension is entered into regular “Phone” field<br />
    100. 100. We can satisfy US-based Sales team . . .<br />Create a formula field to display the “Phone” field and the new “Phone Extension” field together<br />This enables one-click dialing from PDA<br />
    101. 101. We can make it easy for US to dial int’l . . .<br />Use validation to ensure that international numbers are always entered with country codes included<br />
    102. 102. We can make it easy for int’l to dial locally . . .<br />Create a formula field that removes the country codes<br />This enables one-click dialing from PDA for local Sales teams<br />
    103. 103. . . . And we can make it easy to de-dup<br />Create a formula field that removes commonly used punctuation marks, and displays only the local portion of a number (i.e., the right-most 8 digits)<br />
    104. 104. Mission accomplished!<br />One place to manage data, many different views<br />Each field can be exposed only where needed<br />
    105. 105. A few points to consider<br />
    106. 106. Leverage all your configuration options<br />By splitting a formula into smaller pieces and utilizing workflow, we achieved a single field from which to consume “translated” NAICS Codes – without hitting compiled-size limits.<br />By using one formula (“Phone and Extension”) within another (“International Phone”), we avoided having to duplicate code to display data from both the “Phone” and “Phone Extension” fields.<br />
    107. 107. Keep data entry in as few fields as possible<br />For reporting and data entry purposes, try to keep a single point of entry to capture the content of a field.<br />Use formulas to map that data content into different views.<br />Expose each formula view in different places as needed.<br />
    108. 108. Configuration vs. coding<br />Examples we looked at could have been handled via coding rather than configuration.<br />Coding can be easier to manage because logic is held in one place . . .<br />. . . BUT, coding takes a lot longer to build and deploy --<br />Even more importantly, we want these rules to be supportable by admins, not just by developers!<br />
    109. 109.
    110. 110. Formula Methodology<br />
    111. 111. Formula Design Methodology – PURPOSE!!<br /><ul><li>Achieve Business Need
    112. 112. Complete your automation quickly
    113. 113. Minimize complexity
    114. 114. Streamline maintenance
    115. 115. Make components easy to understand</li></li></ul><li>Formula Design Methodology – PROCESS!!<br />Discuss Business Need & possible solutions<br />Write requirements and proposed solution<br />Pseudo-code; i.e. plain English<br />Sandbox<br />START SMALL!! Build piece by piece<br />Check syntax along the way<br />[Insert Field] and [Insert Function]<br />Name, Description, and inline comments<br />
    116. 116. Formula Suggestions & Pointers<br />
    117. 117. Functions in Formulas<br />Take advantage of the help provided whenever you click on a function name in the Functions list:<br /><ul><li>Syntax
    118. 118. Description
    119. 119. Return data type
    120. 120. Help & samples</li></li></ul><li>Logical Operators<br />AND() function = &&operator<br />OR() function = || operator<br />Suggestion: Use && and || for better readability and easier trouble-shooting than AND() and OR()<br />Ex: AND( Closed, Won )  vs. Closed && Won<br />
    121. 121. Picklist fields: Which functions?<br />Picklists work with these functions:<br /><ul><li>ISPICKVAL
    122. 122. TEXT
    123. 123. CASE</li></ul>Key points:<br /><ul><li>TEXT() allows any text function to work on picklist value
    124. 124. TEXT() allows cross-object picklist view dynamically</li></li></ul><li>Picklist fields: --None-- selected<br />Check for empty picklist field:<br /><ul><li>ISPICKVAL( Field__c , "" )
    125. 125. LEN( TEXT( Field__c )) = 0
    126. 126. ISBLANK( TEXT( Field__c ))</li></li></ul><li>Picklist fields: Number values<br />“It looks like a number…”<br />PROBLEM: “Number” entries are NOT actual numbers<br />Actually just another picklist value<br />SOLUTION: Use VALUE( TEXT( Fld )) to get true number<br />
    127. 127. Picklist fields: Errant entries<br />PROBLEM: Picklist on a record uploaded from CSV file contains a value NOT in the list of values<br />Watch out for double spaces, browsers hide them.<br />SOLUTION: Use the Replace button to change to true picklist value<br />
    128. 128. Multi-Select Picklist fields<br />Use these functions:<br />ISBLANK or ISNULL<br />INCLUDES  not CONTAINS (for text)<br />Ex. IF( INCLUDES( MSP_Field__c , “Value 1” ) ,… ,… )<br />
    129. 129. Checkbox fields in Formulas<br />Checked=TRUE and Unchecked=FALSE<br />Boolean value, NOT text, do NOT use quotes<br />Case-independent (UPPER/lower, same meaning)<br />Key points:<br /><ul><li>Also use TRUE and FALSE in CSV data files
    130. 130. WF field updates can check/uncheck a checkbox field</li></li></ul><li>Functions: New and Changed<br />ISNEW() = When record is created, i.e. [New]<br />ISCHANGED() = Field changed from [Edit] to [Save]<br />PRIORVALUE() = Field’s value when you clicked [Edit]<br />ISBLANK = ISNULL w/ more data types<br />BLANKVALUE() = NULLVALUE() w/ more data types<br /> Value to show if field is null<br />
    131. 131. Formula Field NULL Treatment Option<br />Key point:<br />For “NULL” or “BLANK” functions on formula fields, select “Treat blank fields as zeroes”.<br />
    132. 132. Date & Time Format and Functions<br />DateTime format: YYYY-MM-DDTHH:mm:SS.sssZ<br />Ex: Hour of Day = MID( CreateDate , 12 , 2 )<br />Key point: <br />Formulas see date/time in GMTonly<br />Ex. Adjust for Eastern Time: ( CreateDate – (1/24 * 5) )<br />Use custom field$User.GMT_Adjustment_in_Hours__c<br />
    133. 133. System Values: $Organization<br /> > $Organization><br /><ul><li>Use Org ID to dynamically distinguish between production and sandboxes for org-dependent behavior</li></li></ul><li>System Values: $Profile<br /> > $Profile><br />Use Profile ID rather than Profile Name, never changes<br />Use License Type in place of list of users & profiles<br />Leverage “Division”<br />
    134. 134. System Values: $Role & $UserRole<br /> > $User and $UserRole<br />Values from User record of the logged in person<br />Use Profile ID and Role ID, rather than their names<br />Leverage Role permissions and UserType<br />
    135. 135. System Values unique to Formulas and Criteria<br />System Boolean fields ONLY in formulas, criteria, reports:<br /><ul><li>Lead: [Is]Converted
    136. 136. Opportunity: [Is]Closed and [Is]Won
    137. 137. Product: [Is]Archived
    138. 138. Various objects: [Is]Active</li></li></ul><li>Formula Methodology – Final points!!<br />Formula creation<br /><ul><li>Start small, check syntax, build structures, use buttons</li></ul>Readability<br /><ul><li>Insert space and comments
    139. 139. Be clean and consistent</li></ul>Trouble-shooting<br /><ul><li>Comment out sections, test methodically</li></li></ul><li>End ofFormula Methodology<br />
    140. 140.
    141. 141. Frank Loiseaux-Purcell<br />salesforce.com<br />Solutions Manager<br />
    142. 142. Making complex simplea Tale of two use-cases<br />
    143. 143. How to make complex processes simple<br />Problem<br />You have a complex approval process and as Account Executive you would like visibility into who needs to approve your contract <br />During the approval process you would also like to know where you are in the approval process<br />
    144. 144. How to make complex processes simple<br />Solution is formula fields!<br />Red Flag = Not yet Approved<br />Orange Flag = Waiting Approval<br />Green Flag = Approved<br />Not Required = Not Required<br />
    145. 145. How to make complex processes simple<br />How was it built?<br />Enhancement to Product object to include a flag “Inc in Order Management”. Which ensures the contract goes through Order Management approval.<br />Workflow field updates to bring over the flag when added to an opportunity<br />Approval Processes defined (multiple to maximize through put by doing as many of the approvals in parallel. Along with Field updates which the formulas pickup on and display status<br />
    146. 146. How was it built? Contract custom fields<br />How was it built?<br />
    147. 147. How was it built? IMAGE function<br />
    148. 148. How to use formula’s to modify forecasting?<br />Problem:<br />Your company does not want to forecast all products on an opportunity. <br />For example you sell software and professional services and only want to forecast software sales not the professional services.<br />
    149. 149. How to use formula’s to modify forecasting<br />Solution formula fields on Product<br />Booking Value is the total of the software sales and the Renamed Amount Field. This is what flows into Forecasting<br />
    150. 150. How to use formula’s to modify forecasting<br />Opportunity Information<br />Booking Value – Sum of all Total Price (This is the renamed Amount field)<br />Total Opportunity Value – Sum of all Total Sales Price (Calculated field to include all products) <br />Opportunity Product Information<br /> <br />Old Sales Price – Contains unit price of product only for those products included in the forecast (not shown on the Opportunity Screen). This is the original SFDC Sales Price.<br /> <br />Total Price - Contains value for the products included in the forecast (Qty * Old Sales Price)<br /> <br />Custom Opportunity Product Information<br /> <br />Sales Price Unit price of product for all products<br />Total Sales Price Total sales price for product (Qty * Sales Price)<br />Total Contract Value Separate entry for network, managed services, and professional services to contain the total contract value for the product.<br />
    151. 151.
    152. 152. Mini-Case Studies<br />
    153. 153. HELP! Product Name for Opportunity<br />PROBLEM: I can’t I see Product Name in my Opportunity Rollup Summary Fields?<br />REASON: Opportunity and Product are BOTH parent objects to Opportunity Product; i.e. can’t see each other<br />SOLUTION: Make a WF rule on Opportunity Product to copy Product Name to new Opportunity Product field<br />
    154. 154. HELP! Set record types from Convert Lead<br />PROBLEM: How to set record type of new Account, Contact, and Opportunity during Lead Conversion?<br />SOLUTION:<br />- Hidden text fields on Acct/Contact/Oppty: "Lead Record Type“<br />- Hidden formula fields on Lead: "Lead Record Type - Account“ [Contact, Opportunity]<br />- Map the Lead formula field to each of those text fields<br />- WF rule on Acct/Contact/Oppty: When created, criteria: "Lead Record Type" (local hidden field) <equals> “<GivenRecordType>"<br />- WF field update: set the Record Type field (Acct/Contact/Oppty) to whichever record type should be set from Lead Record Type “<GivenRecordType>"<br />
    155. 155. HELP! How to make Round Robin?<br />PROBLEM: Need to evenly and automatically distribute Cases or Leads to owners using round robin approach<br />SOLUTION:<br />Create a Round Robin and use in Assignment Rules:<br />Create an Auto-number field<br />Create a formula field:<br /> MOD( AutoNumber__c , <Number for Round Robin> )<br />
    156. 156. HELP! Decimal Precision with Formulas<br />PROBLEM: Two formula fields each with 2 decimal places appear to be equal but show as NOT equal.<br />REASON: The comparison ignores the 2-decimal display and instead uses more decimal places.<br />SOLUTION: Use the following in the calling formula:<br />ROUND( FormulaField_N__c , 2 )<br />
    157. 157. HELP! Automatic Customer Status Field<br />PROBLEM: How to show dynamically whether each Account is a Customer yet or not?<br />SOLUTION:<br />Create a hidden Rollup Summary Field on Account to show COUNT of child Closed/Won Opportunities<br />Create and show a formula field (Text) on Account to be called "Is Customer" to show "Yes“/"Not yet" based on whether RSF >0<br />
    158. 158.
    159. 159. Formula Magic Wrap-up<br />
    160. 160. Automation = Better Data + Less Work<br />Reduce / eliminate:<br />Manual, redundant data entry<br />Loss of data integrity<br />Data errors<br />Increase / maximize:<br />Usage efficiency<br />Data integrity<br />Availability of reliable data<br />
    161. 161. Formula Magic: Key Takeaways<br /><ul><li>Learn new ways to automate your processes
    162. 162. Add to your formula knowledge arsenal
    163. 163. Simplify formula creation and maintenance
    164. 164. Learn ways to teach formulas to your co-admins</li></ul>Make the system work for you!<br />
    165. 165. So why call it “Formula MAGIC”?<br />Technical system administrators:<br /><ul><li>We know that formulas are not magic
    166. 166. They are a logical, linear set of conditions and actions</li></ul>Formulas are not magic to me or you…<br />…but they are to your system users<br /> and to your business.<br />
    167. 167. Formula Magic: Bottom Line<br />Make the system work for you!<br />
    168. 168. Formula Magic<br />
    169. 169. D I S C O V E R<br />Visit Customer Success Team at Campground<br />the products, services and resources <br />that help you achieve<br />S U C C E S S<br />Learn about how to win prizes including 10 iPads& more!<br />Discover Training Learning Paths<br />Find us at the Customer Success Team area of Salesforce.com Campground at Moscone North<br />Meet Success Experts<br />Learn about Customer Resources<br />Experience Product Demos<br />
    170. 170. How Could Dreamforce Be Better? Tell Us!<br />Log in to the Dreamforce app to submit<br />surveys for the sessions you attended<br />Use the Dreamforce Mobile app to submit surveys<br />OR<br />Every session survey you submit is a chance to win an iPod nano!<br />
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×