# Sum - função de gráfico

Sum() calcula o total dos valores dados pela expressão ou campo em todos os dados agregados.

Sintaxe:

Sum([{SetExpression}] [DISTINCT] [TOTAL [&lt;fld {,fld}&gt;]] expr])

Tipo de dados de retorno: numérico

Argumentos

| Argumento | Descrição |
| --- | --- |
| expr | A expressão ou campo que contém os dados a serem medidos. |
| SetExpression | Por padrão, a função de agregação agregará um conjunto de registros possíveis definidos pela seleção. Um conjunto de registros alternativos pode ser definido por uma expressão de análise. |
| DISTINCT | Se a palavra DISTINCT aparecer antes dos argumentos de função, as duplicatas resultantes da avaliação dos argumentos de função serão ignoradas.<br><br>Nota informativaEmbora o qualificador DISTINCT não seja suportado, use-o com extrema cautela, já que ele poderá confundir o leitor a pensar que o valor total é mostrado quando alguns dados foram omitidos. |
| TOTAL | Se a palavra TOTAL ocorrer antes dos argumentos da função, o cálculo será feito sobre todos os valores possíveis, dadas as seleções atuais, e não apenas sobre os pertinentes ao valor dimensional atual, isto é, desconsiderando as dimensões do gráfico.<br><br>Usando TOTAL [&lt;fld {.fld}&gt;], em que o qualificador TOTAL é seguido por uma lista de um ou mais nomes de campo como um subconjunto das variáveis de dimensão de gráfico, você cria um subconjunto dos valores possíveis totais.<br><br>[Definindo o escopo de agregação](https://help.qlik.com/pt-BR/sense/May2026/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/define-aggregation-scope.htm) |

Exemplo: expressões de gráfico

| Exemplo | Resultado |
| --- | --- |
| `Sum(UnitSales)` | Retorna o total dos valores em `UnitSales`. |
| `Sum(UnitSales*UnitPrice)` | Retorna o total de `UnitPrice` multiplicado pelas `UnitSales` agregadas. |
| `Sum(TOTAL UnitSales*UnitPrice)` | Retorna a soma total de todas as linhas na tabela, bem como o total, porque o qualificador `TOTAL` significa que a soma é calculada desconsiderando as dimensões de gráfico. |
| `Sum({1} TOTAL UnitSales*UnitPrice)` | A expressão de análise de conjunto `{1}` define o conjunto de registros a serem avaliados como `ALL`, independente de qualquer seleção feita. |

## Exemplo - Fundamentos de Sum

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/BasicAggregationFunctions/sum.htm)

#### Expressão de gráfico

Visão geral

Abra o editor da carga de dados e adicione o script de carregamento abaixo em uma nova seção.

O script de carregamento contém:

* Um conjunto de dados que é carregado em uma tabela de dados denominada `Example`.

* Os campos a seguir na tabela de dados:

  * `Customer`

  * `Product`

  * `UnitSales`

  * `UnitPrice`

Script de carregamento

```
Example:
LOAD * inline [
Customer|Product|UnitSales|UnitPrice
Astrida|AA|4|16
Astrida|AA|10|15
Astrida|BB|9|9
Betacab|BB|5|10
Betacab|CC|2|20
Betacab|DD||25
Canutility|AA|8|15
Canutility|CC||19
] (delimiter is '|');
```

Resultados

Carregue os dados e abra uma pasta. Crie uma nova tabela e adicione esses campos como dimensões:

* `Customer`

* `Product`

Crie as seguintes medidas:

* `=Sum(UnitSales)` para calcular a soma de `UnitSales`.

* `=Sum(UnitSales*UnitPrice)` para calcular o total agregado de `UnitSales` multiplicado por `UnitPrice`.

* `=Sum(TOTAL UnitSales*UnitPrice)` para calcular o total de todas as linhas da tabela, bem como o total, porque o qualificador `TOTAL` significa que a soma é a mesma para todas as células, desconsiderando as dimensões de gráfico.

* `=Sum({1} TOTAL UnitSales*UnitPrice)` para calcular o total, independentemente da seleção feita, porque a expressão de análise de conjunto `{1}` define o conjunto de registros a serem avaliados como `ALL`, não importa qual seleção seja feita.

Results table

| Customer | Product | Sum(UnitSales) | Sum(UnitSales\*UnitPrice) | Sum(TOTAL UnitSales\*UnitPrice) | Sum({1} TOTAL UnitSales\*UnitPrice) |
| --- | --- | --- | --- | --- | --- |
| Totals | - | 38 | 505 | 505 | 505 |
| Astrida | AA | 14 | 214 | 505 | 505 |
| Astrida | BB | 9 | 81 | 505 | 505 |
| Betacab | BB | 5 | 50 | 505 | 505 |
| Betacab | CC | 2 | 40 | 505 | 505 |
| Betacab | DD | 0 | 0 | 505 | 505 |
| Canutility | AA | 8 | 120 | 505 | 505 |
| Canutility | CC | 0 | 0 | 505 | 505 |

Nesse exemplo, observe o seguinte:

* Para a primeira medida, `Sum(UnitSales`, a célula `Totals` retorna `38`, que é o total dos valores em `UnitSales` de todos os clientes e produtos. Os resultados de cada combinação de cliente e produto são agregados para retornar a soma total de `UnitSales` para cada combinação. Por exemplo, a soma de todas as `UnitSales` do produto `AA` do cliente `Astrida` é `14`.

* Para a segunda medida, `Sum(UnitSales*UnitPrice)`, a célula `Totals` retorna `505`. Esse é o total agregado de `UnitSales` multiplicado por `UnitPrice` para cada combinação de cliente e produto.

* Para a terceira medida, `Sum(TOTAL UnitSales*UnitPrice)`, o valor retornado em todas as linhas, incluindo `Totals`, é `505`, porque o qualificador `TOTAL` desconsidera as dimensões de gráfico. No entanto, se for feita uma seleção em uma dimensão como `Customer`, os valores serão alterados. Por exemplo, se você selecionar `Betacab`, a tabela resultante terá apenas três linhas, uma para cada um dos registros `Betacab`, mas a coluna retornará o mesmo valor total para todas as linhas (`90`).

* A quarta medida, `Sum({1} TOTAL UnitSales*UnitPrice)`, retorna o valor `505` independente de quaisquer seleções porque a expressão de análise de conjunto `{1}` define o conjunto de registros a serem avaliados como `ALL`. Se você selecionar um cliente, por exemplo, `Canutility`, o valor retornado ainda será `505`.

## Exemplo - Cenário de soma agregando dados de vendas

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/BasicAggregationFunctions/sum.htm)

#### Expressão de gráfico

Visão geral

Um conjunto de dados contém números de vendas de lojas por região. A empresa deseja agregar as vendas.

Abra o editor da carga de dados e adicione o script de carregamento abaixo em uma nova seção.

O script de carregamento contém:

* Um conjunto de dados que é carregado em uma tabela de dados denominada `Example`.

* Os campos a seguir na tabela de dados:

  * `Month`

  * `SalesProduct`

  * `Region`

  * `Sales`

Script de carregamento

```
Example:
Load * inline [
Month,SalesProduct, Region, Sales
2024-01-01, T-shirt, East, 100
2024-01-01, T-shirt, West, 120
2024-01-01, Jeans, East, 200
2024-01-01, Jeans, West, 180
2024-02-01, T-shirt, East, 150
2024-02-01, T-shirt, West, 130
2024-02-01, Jeans, East, 250
2024-02-01, Jeans, West, 220
];
```

Resultados

Carregue os dados e abra uma pasta. Crie uma nova tabela dinâmica e adicione esses campos como dimensões de linha:

* `Month`

* `Region`

Adicione este campo como uma dimensão de coluna:

* `SalesProduct`

Crie a seguinte medida:

* `=Sum(Sales)` para calcular as vendas totais para cada produto.

Para expandir a tabela dinâmica para ver todas as linhas, no painel de propriedades, em Aparência, selecione Apresentação. Em Linhas, selecione Totalmente expandido.

Results table

| Month<br>Region | SalesProduct |  |
| --- | --- | --- |
| Jeans | T-shirt |  |
| 2024-01-01 | 380 | 220 |
| East | 200 | 100 |
| West | 180 | 120 |
| 2024-02-01 | 470 | 280 |
| East | 250 | 150 |
| West | 220 | 130 |

Os resultados mostram as vendas de cada `SalesProduct` por `Month` e `Region`, com um total agregado para cada `Month`.

## Saiba mais

* [Análise de conjunto](https://help.qlik.com/pt-BR/sense/May2026/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/SetAnalysis/set-analysis-expressions.htm)
* [Definindo o escopo de agregação](https://help.qlik.com/pt-BR/sense/May2026/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/define-aggregation-scope.htm)