6.1 Table Calculation Mechanics: Addressing vs. Partitioning
Key Takeaways
- Table calculations execute strictly on the local aggregated cache returned by the underlying database query, operating on visual marks rather than row-level database records.
- Addressing dimensions (Compute Using) define the direction and sequence along which the calculation traverses, with values accumulating or comparing across addressing marks.
- Partitioning dimensions establish boundary scopes that group data, causing the table calculation to reset and restart independently for each distinct partition value.
- Relative directional options (Table across, Table down, Pane down) are view-dependent and dynamically reconfigure if shelf dimensions are rearranged or rotated.
- Specific Dimensions configuration explicitly declares addressing fields, nesting order, and 'Restarting every' thresholds, ensuring every shelf dimension acts as either addressing or partitioning.
6.1 Table Calculation Mechanics: Addressing vs. Partitioning
In the Tableau calculation hierarchy, Table Calculations occupy a unique and vital position. Unlike row-level calculations (which evaluate record by record in the source data) or aggregate calculations (which evaluate across groups of records determined by the visualization's level of detail), table calculations evaluate after the database has aggregated and returned the query results. Understanding where, when, and how table calculations compute is one of the important competencies on the Salesforce Certified Tableau Data Analyst examination.
The Table Calculation Pipeline: Local Cache Processing
The fundamental architectural principle of table calculations is that they never execute within the underlying database. When an analyst drags dimensions and measures onto a worksheet, Tableau generates an aggregate query (SQL, MDX, or Hyper query) and transmits it to the data engine. The database computes the aggregations and returns a summarized tabular result set to Tableau's local client cache.
[Underlying Database]
|
| 1. SQL Aggregate Query (SUM, AVG, COUNT)
v
[Tableau Local Cache / Visual Data Table]
|
| 2. Table Calculations Applied (RUNNING_SUM, WINDOW_AVG, RANK)
v
[Rendered Canvas / Visual Marks]
The table calculation engine operates exclusively upon this local aggregate table. Because the computation happens in memory on the summarized result set, table calculations offer two distinct operational characteristics:
- High Computation Speed: Because the computation runs on hundreds or thousands of summarized rows rather than millions of transactional rows, operations like running totals and rankings execute almost instantaneously.
- View-Dependency: If a dimension is removed from the view, filtered out, or rearranged on the shelves, the structure of the underlying visual table changes, directly altering the output of the table calculation.
Core Mechanics: Addressing vs. Partitioning
Every table calculation requires two fundamental instructions: what to group by and what direction to move along. In Tableau terminology, these concepts are formalized as Partitioning and Addressing.
Addressing Dimensions (Compute Using)
- Definition: The dimension or dimensions along which the calculation proceeds. Addressing defines the path, vector, and ordering of evaluation.
- Behavior: Values change along the addressing dimensions. The calculation steps from one member of the addressing dimension to the next, accumulating, comparing, or ranking values.
- User Interface Term: In the Tableau interface, addressing dimensions are configured under the Compute Using menu or selected as checked boxes in the Specific Dimensions list.
Partitioning Dimensions (Scope Boundaries)
- Definition: The dimension or dimensions that group the data into isolated, independent subsets (partitions).
- Behavior: The calculation restarts for each partition. Calculations in one partition are completely unaware of and unaffected by data in adjacent partitions.
- User Interface Term: In the Tableau interface, partitioning dimensions are represented by unchecked boxes in the Specific Dimensions list.
[!IMPORTANT] The Universal Partitioning Rule: Every single dimension present in the active worksheet (on Rows, Columns, Pages, or Marks card shelves such as Color, Size, Label, Detail, and Shape) must participate in the table calculation. Each dimension is assigned to either Addressing or Partitioning. A dimension cannot be neutral or omitted.
Comparison: Addressing vs. Partitioning
| Feature | Addressing Dimensions | Partitioning Dimensions |
|---|---|---|
| Interface Representation | Checked boxes in Specific Dimensions; selected under 'Compute Using' | Unchecked boxes in Specific Dimensions |
| Computational Action | Defines the path, direction, and order of movement | Defines the boundaries where the calculation resets |
| Calculation Reset | Never resets within the addressing sequence (unless 'Restarting every' is configured) | Resets to the initial value upon entering every new partition |
| Value Progression | Values accumulate, offset, or compare across these dimension members | Each partition computes in complete isolation |
| Analogy | The steps taken along a running track | The individual laps or distinct runners |
| Example (Regional Monthly Sales) | If Order Date (Month) is addressing, RUNNING_SUM accumulates Jan -> Feb -> Mar | If Region is partitioning, the running sum starts fresh at $0 for Central, East, South, West |
Relative Directions: Moving Across the Visual Grid
Tableau provides built-in relative directional settings. These directions interpret the visual grid formed by the dimensions placed on the Rows and Columns shelves:
+-----------------------------------------------------------------------------------+
| TABLE (ACROSS): Moves horizontally across columns; resets at each row |
| TABLE (DOWN): Moves vertically down rows; resets at each column |
| TABLE (ACROSS THEN DOWN): Moves across row, then wraps down without resetting |
| TABLE (DOWN THEN ACROSS): Moves down column, then wraps across without resetting |
| PANE (DOWN): Moves down within a pane; resets at each outer row/column header |
| PANE (ACROSS): Moves across within a pane; resets at each outer header |
| CELL: Confined strictly to the single cell mark (e.g. 100% of cell) |
+-----------------------------------------------------------------------------------+
Detailed Relative Directional Behaviors
- Table (across): Computes horizontally across the entire width of the table. The calculation restarts after the last column for each row. The addressing dimension is the innermost dimension on Columns; dimensions on Rows act as partitions.
- Table (down): Computes vertically down the entire length of the table. The calculation restarts after the last row for each column. The addressing dimension is the innermost dimension on Rows; dimensions on Columns act as partitions.
- Table (across then down): Computes horizontally across the first row, then wraps down to the start of the second row, continuing the calculation without resetting until the very end of the table.
- Table (down then across): Computes vertically down the first column, then wraps to the top of the second column, continuing the calculation across the entire table without resetting.
- Pane (down): Operates within an individual pane (defined by outer hierarchical dimensions). It computes down the rows of that specific pane and resets when transitioning to the next pane.
- Pane (across): Operates within an individual pane horizontally and resets at the boundary of each pane.
- Cell: Evaluates strictly within the borders of an individual intersection mark. For example, a
Percent of Totalcalculated using Cell produces 100% for every mark, because each mark represents the entirety of its own partition.
The Vulnerability of Relative Directions
While relative directions are convenient, they are visually fragile. If an author builds a worksheet using Table (down) and an end-user swaps Rows and Columns (or pivots the visual layout), the calculation continues to move down vertically, which now traverses a completely different dimension! For robust enterprise reporting, explicit dimension addressing is strongly preferred.
Explicit Configuration: Specific Dimensions
To prevent calculation breakage when views are rearranged, Tableau allows authors to explicitly define Addressing and Partitioning using Specific Dimensions in the Table Calculation configuration dialog.
How Specific Dimensions Operates
- Checked Dimensions: Assigned to Addressing. The calculation moves along these fields.
- Unchecked Dimensions: Assigned to Partitioning. The calculation groups by and resets at every unique combination of these fields.
- Hierarchy and Drag Order: In the Specific Dimensions box, checked dimensions can be dragged up or down. The order from top to bottom dictates the nesting hierarchy of addressing. Tableau evaluates addressing along the outermost checked dimension first, followed by the inner checked dimensions.
Table Calculation Configuration Dialog:
+-------------------------------------------------------------+
| Compute Using: |
| ( ) Table (across) |
| ( ) Table (down) |
| (*) Specific Dimensions |
| [X] Region <-- Addressing (Outer) |
| [X] Category <-- Addressing (Inner) |
| [ ] Segment <-- Partitioning (Reset here) |
| |
| Restarting every: [ Region |v] |
| Sort order: [ Specific Sort: SUM(Sales) |v] |
+-------------------------------------------------------------+
The 'Restarting Every' Setting
When multiple dimensions are checked for Addressing, the Restarting every dropdown becomes active. This allows authors to maintain an addressing dimension while enforcing a calculation reset at a higher level within the addressing list. For example, an analyst can include both Year and Month in addressing to calculate a rolling metric, but set Restarting every to Year so that the calculation clears and starts over on January 1st of each year.
Custom Sort Order within Table Calculations
By default, addressing dimensions traverse values according to the visual sort order of the worksheet. However, within the Table Calculation dialog under Sort order, authors can specify a Custom Sort (e.g., sorting by SUM([Sales]) Descending) that overrides the visual sort on the canvas without altering the visual arrangement of headers.
Quick Table Calculations vs. Custom Table Calculations
Tableau provides two workflows for implementing table calculations:
1. Quick Table Calculations
- Accessed by right-clicking any aggregated measure pill on a shelf and navigating to Quick Table Calculation.
- Offers pre-configured common formulas: Running Total, Difference, Percent Difference, Percent of Total, Rank, Percentile, Moving Average, YTD Total, Compound Growth Rate, Year Over Year Growth, YTD Growth.
- When applied, Tableau automatically converts the green pill into a table calculation, indicated by a small triangle icon (delta symbol: Δ) on the right side of the pill.
2. Custom Table Calculations
- Created by authoring a calculated field in the Calculation Editor using Tableau's native table calculation syntax (e.g.,
RUNNING_SUM(SUM([Sales])),WINDOW_AVG(SUM([Profit]), -3, 0)). - Can be saved as permanent fields in the Data pane, assigned descriptive business names, reused across multiple worksheets, and incorporated into complex multi-layered formulas.
- Can also be created by dragging an existing Quick Table Calculation pill from a shelf directly into the Data pane, which converts the ad-hoc calculation into a reusable calculated field.
Exam Traps & Practical Scenarios
Scenario 1: Unintended Partitioning from the Detail Shelf
An analyst configures a RUNNING_SUM(SUM([Sales])) across Order Date (Month) with Table (across). The calculation displays a smooth cumulative line. The analyst then drags Customer Segment onto the Detail shelf on the Marks card to encode customer types. Suddenly, the single smooth cumulative line breaks into three jagged, lower-value lines.
- The Cause: When
Customer Segmentwas added to the Marks card, it entered the visual level of detail. BecauseTable (across)was set, the newly added dimension defaulted to a partitioning dimension. The running total now resets and computes independently for each segment. - The Remedy: Open the Table Calculation editor, switch to Specific Dimensions, and ensure
Customer Segmentis checked if accumulation should span across all segments, or retain it as partitioning if separate segment lines were intended.
Scenario 2: Relative Directions in Swapped Charts
An executive requests that a vertical bar chart showing Percent of Total sales down sub-categories (Table (down)) be pivoted into a horizontal bar chart. The analyst clicks the 'Swap Rows and Columns' button. The chart bars now display horizontally, but every single bar shows 100%!
- The Cause: Under
Table (down), the calculation computed along Rows. When the shelves were swapped, the sub-categories moved to Columns, and Rows became empty. ComputingTable (down)on a view with only one row treats each column mark as an entire partition, yielding 100% per bar. - The Remedy: Update the Compute Using setting to
Table (across), or lock the calculation permanently toSpecific Dimensions: Sub-Category.
A data analyst configures a table calculation on a worksheet displaying Region, Category, and Order Date. In the Specific Dimensions list of the Table Calculation dialog, the analyst checks Order Date and leaves Region and Category unchecked. What is the operational effect of this configuration?
A worksheet contains Region on Columns, Sub-Category on Rows, and SUM(Sales) on Text. The analyst applies a Quick Table Calculation for 'Percent of Total' set to 'Table (down)'. If the analyst then clicks the 'Swap Rows and Columns' toolbar button to invert the visual axes, what happens to the Percent of Total values?
An analyst has built a cumulative monthly sales chart using a RUNNING_SUM table calculation with Compute Using set to 'Table (across)'. The analyst drags the Customer Segment dimension onto the Detail shelf on the Marks card to increase the visual fidelity of tooltips. What immediate impact does this have on the running total line?