Salesforce Rollup Solutions Final Presentation
-
Upload
carlos-alejandro-gallardo -
Category
Documents
-
view
259 -
download
1
Transcript of Salesforce Rollup Solutions Final Presentation
Changing the way people change the world.
RollupsCidar Mendizabal, Dan Reider & Carlos Gallardo
What is the purpose of Hard Credit Fields?Record amounts which a donor is directly responsible for giving to a nonprofit
Hard Credit Roll Ups
What do the Fields Calculate?Not restricted to giving records that are tax receiptable in a given calendar year.
may reflect:
- amounts ranging from organization fiscal year giving to a donor's member year giving,
- amounts that are pledged but not yet paid.
What do the Fields Calculate?Based on parent gifts, including pledges,
may include amounts for transactions with close dates outside the current year
(a multi-year pledge, for example, will be hard credited entirely within the year on which it is pledged; the transactions will not appear in any separate hard credit rollups for each year).
Account Hard CreditsBy salesforce design, giving (opportunity) records are always related to account records via the Account lookup.
All giving records may be considered for rollup as part of the account hard credit fields–within the capabilities and limitations of this functionality, described in detail within this manual.
No eligible giving record will be excluded from hard credit roll up on its account for any other reason
(e.g., account hard credits are not excluded on gifts which have contact hard credit).
Hard based on the Account lookup only.
NGO Connect will populate the "Hard Credit Account" field for reporting purposes
modifying this field currently has no function
What Setup must I perform to make Giving Roll Up?Account hard credit rollups consist of three distinct sets of fields on the Account.
- Summary flag Rollups
- Calendar year information from giving object
- giving amounts from summaries related to account.
Accounts - Major Giver and Sustainer FlagsAccount_RollupSummaries apex class rolls up:
Current Year Major GiverCurrent Year Sustaining GiverLifetime Major GiverLifetime Sustaining GiverPrior Year Major GiverPrior Year Sustaining Giver
Defined as calendar year, relative today.
If a summary exists whose giving level active date fits into this date range, and has any one of these flags to true, the account flags will reflect that
No filter by activity type, affiliation, or any other summary characteristic
Flags are cleared out and re-evaluated each time the rollup summaries job is executed
Account - Calendar Year Hard Credit RollupsRolled up by the Account_RollupHardCredits apex job
Prior_Calendar_Year_Hard_Credit_Amount__cPrior_Calendar_Year_Hard_Credit_Count__c Current_Calendar_Year_Hard_Credit_Amount__cCurrent_Calendar_Year_Hard_Credit_Count__c
- Roll up information directly from parent giving records based on the close date of the gift relative to the calendar year
- Amounts roll up from the Current Giving Amount (fields display pending, open, or completed transactions)
- Not dependent on giving summaries
- Do not need calendar year giving type engine configured or calendar year summary created
- Do not include deleted or archived gifts
Account - Current Year/Prior Year, First/Last, and Lifetime Credit Rollups
rolled up by the Account_RollupHardCredits apex job
- Rollup from giving summary records
- Fields are defined on a relative current/prior year basis
- Compatible with giving summaries using giving type engines of calendar year, fiscal year, or member year.
Account - Current Year/Prior Year, First/Last, and Lifetime Credit Rollups
If summaries store member year giving, current year and prior year fields could capture different timeframes depending on account
(membership started on January 1st will have a different current year than membership started on August 1st. )
If summaries capture fiscal year giving, then current year will always correspond to the current fiscal year on all accounts.
Derived from summaries, and governed by summary behavior
Account - Current Year/Prior Year, First/Last, and Lifetime Credit Rollups
Summary records are not guaranteed for every year (no summary record is created if there is no giving)
Specific logic which governs which giving summaries are rolled up to these fields. This logic may not always produce results that correspond to exactly adjacent years for current and prior
Current and prior may also vary by account
Rollup fields have ability to add together amounts from multiple giving summary records.
When evaluating summaries for inclusion in these fields, summaries are
- filtered to the primary affiliation of the account:
- filtered by the opportunity record type setting has "Track Account Hard Credits" enabled
Account - Current Year/Prior Year, First/Last, and Lifetime Credit Rollups
If more than one activity type has this enabled, then summaries for those activity types may be added together.
This may be desirable if your organization uses calendar year giving summaries for donation, membership, or other types of giving separately, but then wishes to aggregate them into a single calendar year total in the current year.
On the other hand, if your organization uses both member year and calendar year summaries, you will want to ensure that only one activity type has Track Account Hard Credits enabled.
Adding together a member year and calendar year total will naturally produce inconsistent/meaningless results for reporting purposes, since the timeframe of the member year will vary widely while the calendar year is fixed.
Account - Current Year/Prior Year, First/Last, and Lifetime Credit Rollups
Current Year
Current year fields retrieve information from a summary that is defined as "most recent" and is also active.
The most recent summary on an account = last summary created (for a particular affiliation/activity type), and it may be in an active or inactive status.
A summary that is both "most recent" and active will contain the current year data.
If summary status is being updated promptly by batch job, the current year fields will accurately display information from the current member year, or from the currently valid calendar year/fiscal year, depending on your summary configuration.
Current_Year_Hard_Credit_Amount__cCurrent_Year_Hard_Credit_Count__c
Account - Current Year/Prior Year, First/Last, and Lifetime Credit Rollups
Prior Year
Retrieve information from a summary that
- was superceded by a most recent summary
- most recent, but which is no longer active.
Prior year will not always be the same year, if for some donors their last gift was several years in the past.
Prior_Year_Hard_Credit_Amount__cPrior_Year_Hard_Credit_Count__c
Account - Current Year/Prior Year, First/Last, and Lifetime Credit Rollups
First/Last
Contains information from a single summary created most recently and which contains the most recent date for the desired information.
If the summary does not contain a particular value for whatever reason, the value may be retrieved from another summary which does contain it.
First hard credit date and last hard credit date may be derived from summaries with different activity types
First_Hard_Credit_Amount__c First_Hard_Credit_Date__cLast_Hard_Credit_Amount__c Last_Hard_Credit_Date__cLargest_Hard_Credit_Amount__c Largest_Hard_Credit_Date__cFirst_Hard_Credit_Date__c Last_Hard_Credit_Date__cLargest_Hard_Credit_Date__c
Account - Current Year/Prior Year, First/Last, and Lifetime Credit Rollups
Lifetime
Retrieved from account lifetime summaries
Results may be aggregated from multiple lifetime summaries
(Example: if you have separate calendar year summaries for donation and membership)
Lifetime_Hard_Credit_Amount__cLifetime_Hard_Credit_Count__c
Custom Setting ConfigurationRollup Hard Credits Settings
Controlled on a per giving -record type basis:
rC Giving Opportunity Record Type Setting >Track_Account_Hard_Credits__c.
Controlled on a per-account basis:
rC_Giving Account custom field Track_Hard_Credits__c.
Giving records rolled up to the account must match the account Primary Affiliation (in Primary_Affiliation__c); records for other affiliations will be excluded.
Custom Setting ConfigurationGiving Summary Settings
rC Giving Opportunity Record Type Setting
Activity Type. Ensure that the activity types defined in these settings are aligned with the activity types on your giving level records.
Summaries?. Ensure that the Summaries? checkbox is checked, to allow summary generation for these record types.
Giving Type Engine?. Ensure that a giving type engine is specified from the supported types of Standard, Public Media, Calendar Year, and Fiscal Year. Note that Standard and Public Media are only supported on the membership record type and cannot be used with donation or any other type. Calendar Year and Fiscal Year, however, can be used with special restriction (e.g., calendar year membership is supported).
Custom Setting ConfigurationRollup Hard Credits Settings
The recommended approach is to configure only one opportunity record type to track hard credits, for clarity at the account and contact level.
Rollup Account Hard Credits can be configured to run in batch mode by setting rC_Giving Account Setting > Rollup_Hard_Credits_Batch__c = TRUE.
The recommended way to schedule account hard credit rollup is to use the rC_GivingAsyncRecovery class. For more information, see Schedulable and Batchable Jobs.
Custom Setting ConfigurationRollup Summaries can be configured to run in batch mode
rC_Giving Account Setting > Rollup_Summaries_Batch__c = TRUE.
The recommended way to schedule summary rollup is to use the rC_GivingAsyncRecovery class. For more information, see Schedulable and Batchable Jobs.
Getting Started with
AGENDA• Discuss the Pro versus Cons• Create Sample Rollup Field• Manual & Schedulable Jobs• Additional Rollup Helper Resources
Pros
• Run as many rollup jobs as desired
• Real-time Execution Capability
• Simple and Helpful Rollup creation wizard
Cons
• Not Free– Multi-Year Discount– 30% Non-Profit Discount
• Approximately $4,000 for a three year license org-wide
Rollup Helper Pros & Cons
Creating a Rollup Field Using Rollup Helper• Step 1 – Create custom field in target object• Step 2 – Rollup Helper Wizard
i. Select object where custom field was createdii. Select the custom fieldiii. Select Source Field
i. Select the child object and relationship field from where the values will be rolled up from
ii. Select the field and the calculation type that will be calculated and rolled up
iv. Select custom filter, or create a new one.
• Step 3 - Rollup Filter Editori. Enter name for new filterii. Specify sort order, if needediii. Specify filter criteria
i. Select Closed equals TRUE, then submitii. Select Won equals TRUE, then submitiii. You can even have filter logic in place
iv. SAVE & RUN
Creating a Rollup Field Using Rollup Helper
roundCorner Team• I am not an expert, but we can all gain a level of proficiency working
together!!!• Easy Rollups vs Difficult Rollups
• Soft and Recognition Credits?
Manual and Schedulable Job• Manual Job
– Click on the drop down action button and run the rollup job (FYI: it runs the job in increments of 500 records, so “Run Once For 30,000 records” it means you have between 25 to 30k records)
• Schedulable Job– Click on the drop down action button and select Schedule– Activate!– Select the repeatable frequency (Hours, Days, Weeks, etc.) and the amount of
records.• FYI: Rollups will restart where they stopped on the last run to ensure all records are
eventually updated. – Finally, select Next Run date and SAVE!
Additional Rollup Helper Resources• Rollup Helper’s Resource Page has documentation in how to do real-time
rollup for custom objects and release note information. Take a look!– http://rolluphelper.thinkreid.com/resources
• They also have example rollups that might be useful for creation practice.– http://rolluphelper.thinkreid.com/resources/example-rollups
• Discuss the Pro versus Cons• Review Wiki Page• Discuss design considerations• Portability
Agenda
Pros ConsOpen sourced Open Sore
It’s Free Support from us is not free.
Has a real nice Layout to create and deploy rollup summary fields.
Requires a high level Salesforce.com knowledge.
Has a Salesforce Community
It can be portable and extends our product functionality.
Require that you document solution for the client.
Can be used with Process Builder, Schedule Apex or other Apex classes
Think about:
Real life exampleClient wants to see Account’s with the total Fiscal Year Unrestricted Giving.
• Not possible without Apex class and Apex Trigger• Not part of our packaged code
Solution• Create the process with the Declarative Lookup Rollup Summaries Tool.
Where do I find more information?• Declarative Lookup wiki page.• Github: https://github.com/afawcett/declarative-lookup-rollup-summaries• Salesforce Community:
https://success.salesforce.com/_ui/core/chatter/groups/GroupProfilePage?g=0F9300000009O5p
Contribution and testing is encouraged.
QUESTIONS?