Qyra

Aggregate functions

Built-in functions for referencing column and row totals in your table calculations

Aggregate functions let you reference grand totals and row totals in your table calculations. Unlike row functions and pivot functions which compile to SQL window functions, aggregate functions generate separate CTEs that compute totals from the underlying data.

This means total() correctly handles all metric types — including count_distinct and average — by re-running the metric's native aggregation rather than naively summing grouped values.

Aggregate functions only accept metric field references — dimensions and other table calculations are not valid arguments. Passing a dimension (e.g. total(${orders.customer_id})) returns the error "Tried to reference metric with unknown field id".

total

Returns the grand total of a metric across all rows, computed from the raw data using the metric's native aggregation.

total(${table.metric})
ParameterTypeDescription
metricmetric referenceThe metric to compute the grand total for

Example

Calculate each row's share of total revenue:

${orders.total_revenue} / total(${orders.total_revenue})

With percent formatting applied, this gives you each row as a percentage of the overall total.

Edit Table Calculation dialog with a percent_of_total formula using total()


row_total

Returns the sum of a metric's values across all pivot columns for the current row.

row_total(${table.metric})
ParameterTypeDescription
metricmetric referenceThe metric to sum across pivot columns

row_total is only available when your query includes a pivoted dimension. If no pivot is configured, row_total(${table.metric}) falls back to the metric's value directly.

Example

In a pivot table with revenue broken out by region, calculate each region's share of the row total:

${orders.total_revenue} / row_total(${orders.total_revenue})

On this page