Rollup action

DAP action

Last published at: January 30th, 2024
Delete

The DAP Rollup action is available for Premium and PDM licenses.

The DAP Rollup action provides extensive data aggregation for single or multiple records. Calculate total, average, count, min, max, etc. values across related records, including records with lookup relationships. Easily configure custom rollup logic using AND and OR filters, apply dynamic filters, and perform bulk record processing. Set up scheduled rollup updates via Scheduled Jobs.

Use the DAP Rollup action to streamline your data analysis and improve your overall data management efficiency. Scroll down for a number of business cases.

Using the Action

For the rollup, select records from an object, the "Selected Object". Pick a related object (the "Object to Summarize") and a field on that related object ("Field to Aggregate") to apply a rollup calculation to. The result of the rollup calculation is then stored on the records of the Selected Object.

To run the Rollup action:

  1. Select the records you want to apply a Rollup to in a list view, or by creating a new DAP job.
    Select records from an Object that has at least one related object. The Object you select records from is the "Selected Object" in the next steps.
  2. In the Action Launcher (top right in list view, or the next window in the DAP Job modal), select Rollup and click Next.
  3. In the next window, fill in the fields for the rollup.
    • At Select Objects to Summarize, also known as the "Rollup Object", enter the Object that you want to aggregate data from.
      You can choose from objects with a relationship to the Selected Object. Between brackets the relationship field name is shown.
    • Add a Filter to narrow down the records from the Object to Summarize if you only want to aggregate data from certain records. You can use both AND and OR in the filter logic.
    • At Select Field to Aggregate, also known as the "Rollup Field", select a field from the Object to Summarize. The values of this field will be used in the rollup calculation.
    • At Select Rollup Type, select the type of calculation you want to perform. Available Rollup Types are Count, Count Distinct, Sum, Minimum, Maximum, Average, and Concatenate, depending on the content of the selected Field to Aggregate.
      Not all rollup types are available for all field types.
      See below for an explanation of the different Rollup Types.
    • At Select <Object> Field to Store Rollup Value, enter the name of the field where you want to store the calculation results.
      Which fields are available depends on the Rollup Field and Type, and your Edit access specifications. Note that any existing values in the field will be overwritten.
  4. Click Next.
  5. In the confirmation window, check the details for the Rollup action, and click Start.
  6. If you ran the action from a list view: once the progress bar is at 100% completed, click Finish to return to the object overview.
    If you ran the action as a Job, you are returned to the Job Overview, where you can view the job results information via the Info button.

The Rollup calculation results are now visible in the field that you indicated to store Rollup value.

Delete

Almost all Salesforce Data Type fields can be used as Rollup Fields, except for Text (Encrypted), Lookup, Roll-up Summary (Manual), Auto Number, and Geolocation fields.

Delete

Because of a limitation in Salesforce, a number of Activity fields such as ActivityDate (e.g. Due Date on Tasks) cannot be used in roll-ups.
As a workaround, create a custom field under the same object, copy the values of the original field into the custom field, and apply a roll-up to the custom field.

Delete

Selected Objects with short names

Pay attention when using a Selected Object with a short name such as User. In your database there might be other objects that also contain that name, e.g. User Group. When selecting an Object to Summarize, not only are objects related to your Selected Object (User) shown, but also objects related to the other objects (User Group etc). These objects can be selected and used in the Rollup action, but will yield no results.

Rollup Types

Empty values are ignored. Do make sure empty fields are truly empty though; for example with rollup type "Count Distinct", a space is counted as a value.

Rollup Type Calculation applied to Field to Aggregate
Average Calculates the average of all values.
Concatenate Gathers all values and displays them together.
Concatenate uses newline (return key) as a deliminator between the different values.
Count Counts the number of times a field value is present. Identical values are counted each time they appear.
Count Distinct Counts the number of times a distinct field value is present. Identical values are counted only once.
Maximum Finds the maximum value out of all values.
Minimum Finds the minimum value out of all values.
Sum Calculates the sum of all values.

Use Case Examples

  • Keep track of the number of Cases per Account: for example, count the number of cases that are either still open, or that are closed but were escalated and closed during this month. To update the number each week or day, make it a Scheduled Job.
    1. On the DAP Job tab, create a new job.
    2. Enter a name for the job.
    3. Select the Account object.
    4. Add a Filter if you only want to count the cases for certain accounts.
    5. Add a Schedule if you want to update the case count every week or day (or other interval).
    6. Click Next.
    7. Select the Rollup action and click Next.
    8. At Select Objects to Summarize, select Case
    9. Add filters:
      1. Closed Equals False
      2. Closed Equals True
      3. Escalated Equals True
      4. Closed Date Date Literal Equals THIS_MONTH
    10. Add filter logic: 1 OR (2 AND 3 AND 4)
    11. Select a Field to Aggregate, e.g. Case Number.
    12. Select a Field on the Account records to store the case count number.
    13. Click Next and then Start.

On all selected Accounts, the count of the number of their open cases plus their closed but escalated cases is stored in the selected field. If you added a schedule this number is recalculated and updated per the set schedule.


Difference with Salesforce Roll-Up

The Rollup action in DAP offers advanced capabilities that go beyond those of the standard Salesforce Rollup Summary field. 

Limitations of SF Roll-Up field

  • Rollups on an object with lookup relationships are not supported.

  • Automatically derived fields, such as current date or current user, aren’t allowed in a Salesforce roll-up field. This also applies to formula fields containing functions that derive values on the fly, such as DATEVALUE, NOW, and TODAY. Formula fields that include related object merge fields are not allowed in Salesforce Roll-Up Summary fields either.

  • Limit of 25 rollups per object, or 40 at request.

  • Only AND logic is supported in the filter. OR filter logic cannot be used.

  • Date literals filters are not supported.

  • Rollup types are limited to Count, Sum, Min, and Max. Concatenate and Average roll-up types are not supported.

DAP Rollup Action 

  • Gather Rollup data from objects with a lookup relationship.

  • Use fields that automatically derive values, such as current date or current user, but also formula fields like DATEVALUE, etc, as Rollup Field.

  • NO limit of 25 or 40 rollups per object.

  • Filters can apply both AND and OR logic.

  • The rollup types supported are: Count, Count Distinct, Sum, Min, Max, Average, Concatenate (text).

  • Set up scheduled rollups via Scheduled Jobs.

Troubleshooting

Rollup does not work with certain Activity fields

Problem:

When I try to use the DAP Rollup action on a date field I get an error message. For example, when I use Due Date as the Rollup Field for Tasks, with Minimum as the Rollup Type, I get an error stating “field ActivityDate does not support aggregate operator MIN”.

Answer:

This is a limitation in Salesforce, where a number of Activity fields such as ActivityDate (e.g. Due Date in Tasks) cannot be used in roll-ups. 

As a workaround, create a custom date field under the same object, copy the values of the original date field into the custom field, and apply a roll-up to the custom date field.