# Sum - función de gráfico

Sum() calcula el total de los valores proporcionados por la expresión o campo en todos los datos agregados.

Sintaxis:

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

Tipo de datos que devuelve: numérico

Argumentos

| Argumento | Descripción |
| --- | --- |
| expr | La expresión o el campo que contiene los datos que se han de medir. |
| SetExpression | De forma predeterminada, la función de agregación agregará sobre el conjunto de registros posibles definidos por la selección. Se puede definir un conjunto alternativo de registros mediante una expresión de análisis de conjuntos. |
| DISTINCT | Si la palabra DISTINCT aparece antes de los argumentos de la función, los duplicados resultantes de evaluar los argumentos de la función se descartan.<br><br>Nota informativaAunque se admite el cualificador DISTINCT, utilícelo solo con extrema precaución porque puede inducir a error al lector al pensar que se muestra un valor total cuando se han omitido algunos datos. |
| TOTAL | Si la palabra TOTAL aparece antes de los argumentos de la función, el cálculo se realiza sobre todos los valores posibles dadas las selecciones actuales y no solo aquellas que pertenecen al valor dimensional actual, es decir, no tiene en cuenta las dimensiones del gráfico.<br><br>Usar TOTAL [&lt;fld {.fld}&gt;], donde al cualificador TOTAL le sigue una lista de uno o más nombres de campo como un subconjunto de las variables de dimensión del gráfico, crea un subconjunto de los valores totales posibles.<br><br>[Definir el ámbito de agregación](https://help.qlik.com/es-ES/sense/May2026/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/define-aggregation-scope.htm) |

Ejemplo: expresiones de gráfico

| Ejemplo | Resultado |
| --- | --- |
| `Sum(UnitSales)` | Devuelve el total de los valores en `UnitSales`. |
| `Sum(UnitSales*UnitPrice)` | Devuelve el total de `UnitPrice` multiplicado por `UnitSales` agregado. |
| `Sum(TOTAL UnitSales*UnitPrice)` | Devuelve la suma total de todas las filas de la tabla, así como el total, porque el calificador `TOTAL` significa que la suma se calcula sin tener en cuenta las dimensiones de gráfico. |
| `Sum({1} TOTAL UnitSales*UnitPrice)` | La expresión de análisis de conjuntos `{1}` define el conjunto de registros que se ha de evaluar como `ALL`, independientemente de cualquier selección realizada. |

## Ejemplo: fundamentos de Sum

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

#### Expresión de gráfico

Vista general

Abra el Editor de carga de datos y añada el script de carga inferior en una nueva sección.

El script de carga contiene:

* Un conjunto de datos que se carga en una tabla de datos denominada `Example`.

* Los siguientes campos de la tabla de datos:

  * `Customer`

  * `Product`

  * `UnitSales`

  * `UnitPrice`

Script de carga

```
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

Cargue los datos y abra una hoja. Cree una nueva tabla y agregue estos campos como dimensiones:

* `Customer`

* `Product`

Cree las siguientes medidas:

* `=Sum(UnitSales)`, para calcular la suma de `UnitSales`.

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

* `=Sum(TOTAL UnitSales*UnitPrice)`, para calcular el total de todas las filas de la tabla, así como el total, porque el calificador `TOTAL` significa que la suma es la misma para todas las celdas, sin tener en cuenta las dimensiones de gráfico.

* `=Sum({1} TOTAL UnitSales*UnitPrice)`, para calcular el total, independientemente de la selección realizada, ya que la expresión de análisis de conjuntos `{1}` define el conjunto de registros que debe evaluarse como `ALL`, independientemente de la selección realizada.

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 |

En este ejemplo, observe lo siguiente:

* Para la primera medida, `Sum(UnitSales`, la celda `Totals` devuelve `38`, que es el total de los valores de `UnitSales` en todos los clientes y productos. Los resultados de cada combinación de cliente y producto se agregan para obtener la suma total de `UnitSales` para cada combinación. Por ejemplo, la suma de todos los `UnitSales` del producto `AA` del cliente `Astrida` es `14`.

* Para la segunda medida, `Sum(UnitSales*UnitPrice)`, la celda `Totals` devuelve `505`. Se trata del total agregado de `UnitSales` multiplicado por `UnitPrice` para cada combinación de cliente y producto.

* Para la tercera medida, `Sum(TOTAL UnitSales*UnitPrice)`, el valor devuelto en todas las filas incluido `Totals` es `505`, porque el calificador `TOTAL` no tiene en cuenta las dimensiones de gráfico. Sin embargo, si se realiza una selección en una dimensión como `Customer`, los valores cambiarán. Por ejemplo, si selecciona `Betacab`, la tabla resultante tendrá solo tres filas, una para cada uno de los registros `Betacab`, pero la columna devolverá el mismo valor total para todas las filas (`90`).

* La cuarta medida, `Sum({1} TOTAL UnitSales*UnitPrice)`, devuelve el valor `505`, independientemente de cualquier selección, porque la expresión de análisis de conjuntos `{1}` define el conjunto de registros que se ha de evaluar como `ALL`. Si selecciona un cliente, por ejemplo, `Canutility`, el valor devuelto seguirá siendo `505`.

## Ejemplo: escenario de Sum agregando datos de ventas

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

#### Expresión de gráfico

Vista general

Un conjunto de datos contiene las cifras de ventas de las tiendas por regiones. La empresa quiere agregar las ventas.

Abra el Editor de carga de datos y añada el script de carga inferior en una nueva sección.

El script de carga contiene:

* Un conjunto de datos que se carga en una tabla de datos denominada `Example`.

* Los siguientes campos de la tabla de datos:

  * `Month`

  * `SalesProduct`

  * `Region`

  * `Sales`

Script de carga

```
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

Cargue los datos y abra una hoja. Cree una nueva tabla dinámica y añada estos campos como dimensiones de fila:

* `Month`

* `Region`

Añada este campo como dimensión de columna:

* `SalesProduct`

Cree la siguiente medida:

* `=Sum(Sales)`, para calcular el total de ventas de cada producto.

Para ampliar la tabla dinámica y poder ver todas las filas, en el panel de propiedades, en Aspecto, seleccione Presentación. En Filas, seleccione Totalmente expandidas.

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 |

Los resultados muestran las ventas de cada `SalesProduct` por `Month` y `Region`, con un total agregado para cada `Month`.

## Más información

* [Análisis de conjuntos](https://help.qlik.com/es-ES/sense/May2026/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/SetAnalysis/set-analysis-expressions.htm)
* [Definir el ámbito de agregación](https://help.qlik.com/es-ES/sense/May2026/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/define-aggregation-scope.htm)