Search code examples
dynamics-crm

How often does a Rollup field on an entity recalculate?


Yep RTFM right? Too bad it's not clear like all FMs... https://learn.microsoft.com/en-us/dynamics365/customerengagement/on-premises/customize/define-rollup-fields

Anyone who can make sense of the "Mass Calculate Rollup Field" job vs the "Calculate Rollup Field" job? And the timing of each?

I understand the documentation to mean:

  • There will be 1 initial/first calculation 12 hours after a field is created
  • Then, there will be a recurring job every 1 hour

Yet many articles online spout "every 12 hours!" which seems wrong...


Solution

  • I will try my best to summarize them.

    ——
    Mass Calculate Rollup Field - Async job to do bulk calculation in existing records without impacting business

    Purpose: Bulk updates of each Rollup field in existing entity records
    Scope: Per Rollup field in an entity
    Recurrence: Not really a recurring job
    Default first run schedule: 12 hours after create/update of a Rollup field
    Next run: After first run it will be postponed to run after 10 years unless there’s an update in the formula of that Rollup field

    ——

    Calculate Rollup Field - Async job to calculate all the Rollup fields in a particular entity on a timely fashion. Only delta updates after last run or manual force calculation.

    Purpose: Timely calculation to existing entity records
    Scope: Per entity for all Rollup fields
    Recurrence: Yes, a recurring job every hour or Admin defined schedule
    Default first run schedule: 1 hour after last run of Bulk Rollup field job or last run of this same Async job

    ——

    Third one is user triggered ie manual Adhoc recalculation on each field on CRM record form.