When storing data in Beacon, it's important to make sure that the right information is stored in the right kind of record. For example, you store an email address on a person record, and store an amount on a payment record.
However, what happens if you want to store the following?
- The total amount paid across all payments - on the person record
- The number of people attending an event - on the event record
For this, you need rollup fields.
Rollup fields are fields that "roll up" (summarise) data from other related records. Currently, there are three kinds of summaries you can run:
- Sum of values
- Average of values
- Count (number) of values
How to create rollup fields
1) Navigate to any record type and enter customisation mode by clicking the cog in the top right of the page.
2) Click the block where you'd like to add the rollup field.
3) Click choose fields and then click Create new field.
4) Give your field a name, and set the field type to either "currency" or "number".
5) You'll see a checkbox called "Is rollup field?". Click it.
6) Select the record type you wish to summarise.
7) Choose the summary function you'd like to use. If you're using "Sum" or "Average", you'll need to also select the field on that record type that you'd like to sum up / average.
8) Click Create. The field values will now be calculated in the background. Come back to this record in a minute or two (get a cup of coffee?) and you'll see the rollup value has been set.
Frequently asked questions
Is it possible to roll up other rollup fields?
Yes! This can sometimes be useful - for example, if you'd like to show the total amount that everyone in an organisation has paid:
- Person: A "Total paid" field rolls up the "amount" field on the payment
- Organisation: A "Total paid (everyone)" field rolls up the "Total paid" field on the person
Is it possible to roll up smart fields?
Again - yes!
Is it possible to roll up only records that meet certain conditions?
At the moment, no. However - if you're interested in this please do get in touch - we'd love to know your use case.