Skip to main content
Pivot Tables are an interactive analytics grid for multi-dimensional analysis without writing SQL. Configure what you want in columns and rows, and the table computes the rest. It replaces the usual cycle of depending on a data team, waiting on static reports, and running a separate query for every slice.

How a pivot is configured

Core concepts


Columns

Select one or multiple events. Each definition becomes a column, and the system treats each column as an independent query. Per column you can apply event-level filters, rename the column, and duplicate it.

What the table looks like

Column → Purchase
Columns → Signup, Purchase
Column → Purchase, Breakdown → Country
Columns → Signup, Purchase, Breakdown → Country
Columns → Signup, Purchase, Breakdown → Country → City

Breakdowns

Breakdowns define the rows of the pivot table, and show user properties only. Multiple breakdowns are supported and nest hierarchically, such as Country → City. The first breakdown is the primary grouping; subsequent breakdowns are nested levels. Breakdowns apply to all columns, so rows are generated uniformly.

Grouped and ungrouped views

With Country → City, the same data renders either way:

Global filters

Global filters apply to the entire pivot table. The dataset is filtered before aggregation, so all columns reflect the filtered dataset. Global filters support user properties, event properties, and cohorts only.

Compare

Compare the current period against a past one. When you enable compare and select a comparison period, the system computes past values and adds an adjacent column.
Values can be displayed as Absolute or Percentage.

Sorting

Sorting behaves differently depending on whether group segments are enabled.
A single sort is applied across all rows.The sort dropdown includes all event columns and all breakdown levels. With breakdown Country → City and events Event A, Event B, the options are:
Choose a field and a direction, Ascending or Descending.The entire table reorders based on the selected field, and all rows shift globally.

Cell actions

Four actions are available on cells, and availability depends on the table’s structure.
View Events is a planned capability and is currently disabled in all scenarios.

Availability rules

The logic resolves in four steps.
1

Is a breakdown present?

No — Filter and Exclude are unavailable. View Users and View Events operate at column level.Yes — Filter and Exclude are available on both event columns and breakdown columns.
2

Evaluate each event column

A column containing one event allows View Users and View Events.A column containing multiple events does not.
3

Evaluate the breakdown column

With multiple columns, the breakdown column never allows View Users or View Events.With one column containing one event, it allows both.With one column containing multiple events, it allows neither.
4

Apply the special case

If there is only one column and it has multiple events, View Users and View Events are disabled everywhere.

Worked cases

Definition → multiple events, with a breakdown.Rule: a single column with multiple events disables View Users and View Events everywhere.
Def A → Signup, Def B → Purchase, Breakdown → Country.Filter and Exclude are available on all of them.Rule: with multiple columns, the breakdown column never allows View Users or View Events.
Def A → Signup (1 event), Def B → Purchase + Cart (multi-event), Breakdown → Country.Rule: event columns behave independently; the breakdown column is always restricted.

Row visibility

Three options control how many rows are shown: Top N, Custom, and View All. Rows are trimmed after sorting. By default the table shows the top 12 or bottom 12 rows depending on the sort direction — ascending shows bottom values, otherwise top values.

Totals

Segment subtotals are shown at the n−1 level. With three breakdowns configured, subtotals appear down to the second breakdown. Totals are computed after aggregation and rendered separately.

Processing order

Understanding the execution order explains why filters and sorting behave the way they do.
Refresh reruns this entire pipeline against the latest data.

Next steps