Bucketing
Bucketing is the Salesforce report-builder technique of grouping records into named categories at report-runtime, without creating a custom field on the underlying object.
Definition
Bucketing is the Salesforce report-builder technique of grouping records into named categories at report-runtime, without creating a custom field on the underlying object. You define a bucket field by picking a source field (Amount, Industry, Stage) and writing rules that map source values into named buckets: Amount under 10k becomes Small, 10k to 50k becomes Medium, 50k and above becomes Large. The bucket column then behaves like a real grouped field, driving subtotals, charts, and dashboard slices.
Buckets live only inside the report definition. They do not write back to the source record, do not appear on list views, and cannot be referenced by automation or other reports. This makes them perfect for ad-hoc analysis when the source field is messy or the category logic is specific to one stakeholder's question, and useless for any case where the categorization needs to drive downstream behaviour.
How Bucketing reshapes raw report data into the categories leadership actually wants to see
Three bucket field types and what each accepts
Salesforce supports three bucket field types: numeric, picklist, and text. Numeric buckets define ranges on a number, currency, or percent field. Picklist buckets map existing picklist values into named groups (Closed Won and Closed Lost into Closed; Stage 1 through Stage 3 into Early Funnel). Text buckets accept partial-match strings against any text field, including custom formula fields that return text. The bucket field type cannot change after creation; delete and rebuild if you picked wrong.
Hard limits to plan around
Five bucket fields per report. Twenty buckets per bucket field. Two hundred fifty source values per bucket. These are hard caps enforced at save time. A common rookie mistake is bucketing US states into Region (East, West, Central, South); the four buckets fit easily, but trying to add Other for unmapped territories blows past 250 values if the dataset has international addresses. Plan the "Other" or "Unbucketed" bucket as a fallback option; do not leave it implicit.
Bucketing vs custom fields vs formulas
Three ways to categorize the same data. A bucket field is ad-hoc and report-only. A custom formula field on the object is portable across reports, list views, and automation, but recalculates on every record read. A custom picklist field plus flow to populate it is the cleanest for high-volume categorization, but requires bulk updates and schema changes. The decision tree: ad-hoc analysis goes to bucketing; cross-report consistency goes to a formula or picklist field.
Performance impact and report runtime
Bucket calculations happen after the source query runs, on the report server. Adding a bucket field does not slow down the SOQL underneath, but it does add a small in-memory pass over the result set. For reports returning under 50,000 rows the overhead is invisible. Above that, a custom formula field cached on the object can be measurably faster because the value is precomputed at row save time rather than at report execution.
Grouping, charting, and dashboard component support
Bucket fields behave like real grouping fields in every report builder UI. You can drag them into the Group Rows or Group Columns lane, use them as the X-axis of a chart, or use them as a category slice on a dashboard component. They cannot, however, be used as a filter source on the same report; the report engine evaluates filters before bucketing, so the bucket value does not exist when filters run. The workaround is filtering on the underlying source field instead.
Editing and copying bucket definitions
Each bucket field is local to its report. There is no Setup-level library of reusable bucket definitions. If three reports need the same Industry-to-Region mapping, each one has to define the bucket independently, and changes propagate manually. Cloning a report copies its bucket fields intact, which is the closest thing to reuse the platform offers. For genuinely shared logic, build a formula field once on the object and reference it in every report.
Bucketing in the Lightning report builder vs Classic
Classic called the feature Bucket Column. Lightning renamed it Bucket Field and added a friendlier inline editor that previews mapped values as you type. Behavior is identical underneath; reports created in Classic open in Lightning with the buckets preserved. The Lightning version is the only one receiving updates; if you find a missing feature (range overlap detection, drag-and-drop reordering of buckets) it is a Lightning-only gap, not a Classic-only one.
Adding a bucket field to a Salesforce report
Bucket fields are configured inside the report builder. The steps below cover the Lightning experience; Classic is similar but uses the older Bucket Column menu.
- Open the report in edit mode
Reports tab, find the report, click Edit. The Outline panel on the left shows columns, groups, and filters. Bucket fields appear in the Columns lane once created.
- Add the bucket field
Click the dropdown on the column header you want to bucket, choose Bucket This Column. The Edit Bucket Field modal opens with the source field, name, and bucket list. Name the bucket field clearly so dashboard consumers know what it represents.
- Define the buckets
For numeric, type range thresholds. For picklist, drag values into named bucket groups. For text, type the value or partial match. Use the Show Unbucketed Values option to surface anything not yet mapped, and decide whether to add an Other bucket or leave them ungrouped.
- Apply and group by the bucket
Save the bucket. It appears as a new column. Drag it into Group Rows to group the report by bucket, or use it as a chart axis. Subtotals, totals, and grand totals follow normal grouping behaviour.
- Surface in a dashboard
Dashboards see bucket fields as normal grouping fields. Pick the bucket field as the grouping for a chart or table component. The component refreshes when underlying data changes, with no extra wiring.
Numeric, picklist, or text. Determines what source fields are eligible and how rules are defined. Cannot change after creation.
Toggle that surfaces source values not assigned to any bucket as a default Other group. On by default; turn off when you want to hide unmapped rows from the report.
Buckets appear in the order you define them, not alphabetical. Lightning supports drag-to-reorder for picklist and text; numeric buckets sort by range.
The column the bucket reads from. Can be a standard field, custom field, or another formula. Cannot be another bucket field; nested bucketing is not supported.
- Filters run before bucketing. You cannot filter the report on a bucket value; filter the source field instead.
- Bucket fields are report-local. Cloning copies them; there is no Setup library to share definitions across reports.
- Numeric range buckets must not overlap. The first matching range wins, but Lightning does not warn at save time if you write Amount 10000 to 50000 and Amount 50000 to 100000 (the 50000 boundary belongs to the second bucket).
- The 250-value-per-bucket cap is easy to hit on bucketed state, country, or city fields. Plan an Other catch-all.
- Bucket values do not write back to records. If marketing wants to "tag" records with the bucket value, build a custom field instead.
Trust & references
Cross-checked against the following references.
- Categorize Data with Bucket FieldsSalesforce Help
- Create a Bucket FieldSalesforce Help
Straight from the source - Salesforce's reference material on Bucketing.
- Bucket a Picklist FieldSalesforce Help
- Bucket a Number FieldSalesforce Help
Hands-on resources to go deeper on Bucketing.
About the Author
Dipojjal Chakrabarti is a B2C Solution Architect with 29 Salesforce certifications and over 13 years in the Salesforce ecosystem. He runs salesforcedictionary.com to help admins, developers, architects, and cert/interview candidates sharpen their fundamentals. More about Dipojjal.
Test your knowledge
Q1. What does bucketing allow in Salesforce Reports?
Q2. Where does a bucket exist?
Q3. When is a formula field a better choice than a bucket?
Discussion
Loading discussion…