Percent of total divides each row of a visual by a total: the whole visual, or a group such as the
region the row belongs to. QuickSight has a function for it, percentOfTotal, and the same result can be
written as an explicit ratio, which is easier to check and to format.
Copy and paste
Share of the visual total:
sum({Sales}) / sumOver(sum({Sales}), [])
Share within each region (Region and Customer in the visual):
sum({Sales}) / sumOver(sum({Sales}), [{Region}])
The built-in function:
percentOfTotal(sum({Sales}))
percentOfTotal(sum({Sales}), [{Region}])
Format the ratios as Percent in the field’s format options.
Example
On the seven orders of the conditional logic guides, by region and customer:
| Region | Customer | Sales | Share of total | Share within region |
|---|---|---|---|---|
| North | Anna | 700 | 28.0% | 66.7% |
| North | Bruno | 350 | 14.0% | 33.3% |
| South | Anna | 500 | 20.0% | 34.5% |
| South | Carla | 900 | 36.0% | 62.1% |
| South | Dario | 50 | 2.0% | 3.4% |
The partition decides the denominator. With an empty list, [], it is the total of all rows in the
visual, 2,500. With [{Region}] it is the total of the row’s region: 1,050 for North, 1,450 for South.
Format the ratio, check the function
The Percent format multiplies by 100: 0.28 shows as 28%. A value that is already a percentage, 28,
would show as 2800%, a common surprise on the QuickSight forums. The explicit ratio above returns 0.28,
so the format is right by construction. If you use percentOfTotal, look at its raw value in a table
first and choose the format that matches it.
The explicit ratio has two other advantages: anyone reading the formula sees what is divided by what,
and it works for measures percentOfTotal does not support. The reference notes that distinct count is
one of them:
distinct_count({Customer}) / sumOver(distinct_count({Customer}), [])
Distinct counts do not add up across rows, so read this as a share of the sum of the rows, not of all distinct customers: a customer present in two regions is counted twice in the denominator.
Filters change the denominator
Both versions are table calculations, so they divide by the total of what the visual shows after filters. Filter out Carla and Dario and the total drops to 1,550, so Anna’s North row grows from 28.0% to 45.2% of the total without selling anything more. When the share should stay fixed while readers filter, compute the total before the filters; see how to compute a value before filters are applied.
Checked against the Amazon Quick Sight function reference (October 2026). The example results were recomputed in DuckDB.