Some Apricot field types—such as checkboxes and multi-select dropdowns—allow more than one value to be selected for a single response. In Impact Hub, these values are stored together in a single field, which means they require additional handling when you want to report on individual selections.
This article explains how multi-value fields appear in Impact Hub datasets and how to report on specific values using calculated fields in Builder.
Important things to know
You cannot directly count or group individual selections from a multi-value field without creating a calculated field.
Reporting on multi-value fields typically requires a custom calculated field.
Only Impact Hub Authors and Author Pro users can create calculated fields.
How multi-value fields appear in Impact Hub
When a multi-value field is included in a dataset, all selected options are returned together.
For example, if a participant selects Golf and Tennis on a checkbox field, the value stored in Impact Hub looks like:
Golf|Tennis
This format works for viewing responses, but it does not support answering questions like:
“How many participants selected Golf?”
“How often was Tennis selected across all records?”
To answer those questions, you need to create a calculated field that checks whether a specific value is present.
Create a flag calculation for a multi-value field
A common approach is to create a flag—a calculated field that returns a value when a specific selection exists.
Typical use cases include:
Counting participation - Use a distinct count of records where the numeric flag equals 1.
Comparing groups - Group by the string flag to compare records with and without the selection.
Filtering visuals - Apply the flag as a filter to limit visuals to specific selections.
Step 1: Open the report in Builder
Navigate to Builder.
Open the report you want to update.
Step 2: Create a calculated field
In the Fields list, select Add calculated field.
Enter a clear name for the calculation, such as Flag Golf.
Step 3: Build the calculation
Use a formula that:
Converts the field value to lowercase
Wraps the value with pipe delimiters
Checks whether the selected option exists
You can create either a numeric or string-based flag, depending on how you want to use it in reporting.
| Numeric flag (for counting): | String flag (for grouping or labeling): |
Examples using Sports Activities and Golf | ifelse( contains( toLower(concat('|', trim({Sports Activities}), '|')), '|golf|' ), 1, 0 ) | ifelse( contains( toLower(concat('|', trim({Sports Activities}), '|')), '|golf|' ), 'Golf', 'No Golf' ) |
Replace placeholders: Before using the formula, update:
| ifelse( | ifelse( |
Best practices for multi-value reporting
Always wrap the field with concat('|', … , '|') to avoid partial matches.
Convert text to lowercase using toLowerto prevent capitalization mismatches.
Use numeric flags for aggregation and string flags for segmentation.
Name calculations clearly (for example, Flag - Golf Participation).
Troubleshooting tips
If results don’t look right, check the following:
Is the field you’re reporting on a checkbox or multi-select dropdown in Apricot?
Does the dataset include the correct field?
Are you matching the value text exactly (including spelling)?
Are pipe ( | ) delimiters used correctly in the formula?
Does the calculated field return expected results for known records?


