Home > DemandTools for AppExchange Modules > DemandTools Maintenance Modules > MassImpact - Multi-table and Formula based data Manipulation
MassImpact - Multi-table and Formula based data Manipulation
Capabilities & Features:
- Multi-Table joins
- Change Salesforce data WITHOUT import or export (changes take place at the Salesforce Data Center)
- Perform updates from data on a joined table (Ex: update Contact fields based on Account fields)
- Create and Save custom scenarios
- Update field values via another fields value, hard coded values or formulas
- Able to be used with custom objects
- Scheduleable
- Comes with three (3) prebuilt scenarios (we included the most popular)
Common Uses:
- Updating contact ownership to match account ownership
- Transferring account address information to associated contacts
- Updating object ownership
- Concatenating field values from multiple fields into one
- Applying proper case to any field (name, street, city, etc.)
Quick links:
Example shown in screen shots: copying the Account address to associated Contacts that do not have address information
Step 1. Object and Field Selection
- Select the object in which the impact/change is to take place from the drop down box
- Click the "Use Object" button
Choose the fields to show in the verification step on the left side of the screen
- Selected fields will appear on the right hand side of the screen
- Fields on the right can be reordered if required
- To Select a field on the selected object table, click on the corresponding check box
- To select a field from a joined table, click the "+" sign next to the name of the object and click the checkbox for the desired field
-
*TIP: Select fields that will be affected by the change and any other fields that will aid in validating the change(s). After selecting fields from a table of a joined object, collapse the field set by clicking the "-" sign next to the object name.
- Click the "Step 2-> Conditions and Settings" button to move to the next screen

Step 2. Record Selection and Change Conditions
Record Selection:
- Create a "where statement" in order to specify which records to impact by the change
- Click the "Add Condition" button to add the field, operator and value to the list of current conditions
- If all records in the selected object are to be affected use a generic where statement of "contact id != (blank)" or something similar
- Expert Mode- used to create more complex conditions with the use of "OR" statements
- OR statements help for grouping sets of conditions, ex: "billing state = oh" OR "billing city = cleveland". Without turning on expert mode this combination would be and'd together.
- To place a statement in a different OR Group, change the statements OR Group number to the right of the statement

Change Conditions:
- Select the field to update
- The "Field To Update" pull down includes all modifiable fields, standard and custom, for the object selected for modification
- Choose a tab to define the new field value (this value will be placed on all records that met the criteria defined in the first part of step 2)
- Values Tab - enter (by the user) a uniform value for a field that will be placed on all records. The module will show an appropriate dialog box depending upon the type of field being changed. Text area boxes will show a text entry dialog, dates will show a calendar entry and multi-selects will show a list of allowed values, etc. Enter the value to be placed in this field for all records in the selection set and press "Add to Set Conditions" to move the developed routine to the "Set Condition" list.
- Field Tab - select a field in either the table being modified or a related table to set as the value for the field selected in the "Felt To Update" drop down. This can be used to move information from one Contact field to another Contact field or it could be used to populate a Contact field with the value held in a related table field as well.
- Formula Tab - develop complex and powerful formulas to change the data in the selected field. Formulas can be executed on a single field or multiple fields at the same time and can be developed to work across multiple tables. A short description of available functions in the MassImpact formula tab are as follows:
-Date: Populate a field with a specified year, month, and day
-if_DateReturn: Return a data value based upon a condition
-if_NumberReturn: Returns a number value based on a condition
-if_StringReturn: Returns a text value based on a condition
-Int: Rounds a number DOWN to the nearest integer
-LCase: takes a field and lower cases letters
-len: Returns the number of characters in a text string
-Mid_1: Returns all characters from the middle of a text sting after a given starting position
-Mid_2: Returns the characters from the middle of a text string, given a starting position and length (number of characters to return)
-NaPhoneFix: takes phone number and formats it to match the format as entered in Salesforce, will also standardize an abbreviation for extension to x
-Normalized_US_Address: Standardized a street address to match the USPS preferred format (CASS).
-now: Updates a date and/or date/time field to the current day and/or current day and time
-ProperCaseName: Proper case a "Name" field.
-random: Assigns a random value
-Round: Rounds a number to the nearest integer
-StringReplace: Search a field, find a particular string, replace with desired string
-StringReplaceCS: Same as String Replace with case sensitivity
-today: Update a date and/or date/time field to the current day.
-UCase: takes a field and upper cases letters
-WCase: Takes a field an upper cases just the first letter.
-ZipCodeClean: Strips out non-numeric characters, checks to see if there are less and 5 digits.
More advanced help regarding the creation of MassImpact Formulas can be found here.
- Object Count Tab - populates the field to be modified with the sum of sub-objects of a particular type. For example, this tool could easily populate an Account field called "Number of Contacts" or "Number of Opportunities" with the count of those sub objects. Many customers use this tool as a work around for outer join query capabilities; by putting a count of sub objects on a record, queries such as "Show me all the Accounts without Contacts" or "Show me all the Accounts without Opportunities" are possible.
- Click the "Add to Set Conditions" button to add the change condition when it is complete

Step 3. Verification, Final Selection & Grid Control Screen
Verification:
- The verification screen will show:
- Records that met the criteria in Step 2 to be affected by the change
- Count of the records returned
- Fields selected in Step 1 for the records returned
- New vales for all affected fields (based on change conditions in step 2)
- Existing values (as they are in Salesforce) will be in the white filled columns
- New values will be in the yellow filled column(s) and represent the data as it will appear in Salesforce if the process is executed
Final Selection:
- Final Selection of records to process:
- Each record has a checkbox next to it and when checked, indicates that it will be processed and changes will be made to the data
- An unchecked record will not be included/affected by the change
- **See "Show In Groups" section below for more clever ways of making the final selection of records to process

Grid Control, Update Control & Information:
- "UnCheck All" button: This unchecks/deselects all checkboxes next to the records
- "Check All" button: Checks/selects all checkboxes next to the records
- "Fit Grid" checkbox: This will fit the data to the size of the grid allowed by your screen
- "Show Groups" checkbox: Allows for the grid info to be grouped together by dragging a field and dropping to the area specified after the "Show Groups" checkbox is selected
- showing the data in groups also allows for the selection/deselection of a particular group by right clicking on the group header
- "Export Grid Data" button: exports the information in the grid to an excel (.xls) file to a location of the user's choice
- "Update Blank" checkbox: In some cases the field update is meant to remove the value and make the value blank. The "Update Blank" checkbox needs to be selected in order for blank values to overwrite populated fields in Salesforce
- "Objects found": reports the number of records returned
- "Objects to change": reports the number of records selected to process
- "Save Scenario" button: this button will save the scenario and all options selected in steps 1-3 (will not save the grouping selections created by checking the show groups checkbox) for later recall and use (to recall a scenario click the "Load Scenario" button)

Pre-Built Scenario Descriptions
MassImpact comes with four pre-built scenarios that can help users as they are or be used as a guide to setup similar custom scenarios. In version 2.2 these scenarios can be located in My Documents\DemandToolsData\MassImpact Scenarios.
- Cleaned_NE_billingzipcode.MIxml - this scenario is built to add the leading zero back on to the zip code field on Accounts in the New England states using a formula in the Formula Tab.
- Object to Change:
- Conditions:
- billing state = New Hampshire, New Jersey, Maine, Massachusettes, Vermont, Rhode Island and Connecticut
- billing postal code is not equal to blank
- billing postal code does not start with zero
- Field to Update:
- Set Value To:
- Formula Tab formula of; ZipCodeClean({billingpostalcode})
- ContactMailing(blank)_eq_AccountBilling.MIxml - built to update blank Contact Mailing Address fields with their associated Account Billing Address fields via the Field tab.
- Object to Change:
- Conditions:
See also