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.

References