# Sum - diagramfunctie

Sum() berekent het totaal van de waarden die worden geleverd door de uitdrukking of het veld voor de geaggregeerde gegevens.

Syntaxis:

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

Retourgegevenstypen: numeriek

Argumenten

| Argument | Beschrijving |
| --- | --- |
| expr | De uitdrukking die of het veld dat de gegevens bevat die moeten worden gemeten. |
| SetExpression | De aggregatiefunctie aggregeert standaard over de set mogelijke records die wordt gedefinieerd door de selectie. Met de uitdrukking Set-analyse kunt u een alternatieve set records definiëren. |
| DISTINCT | Als het woord DISTINCT voor de argumenten van de functie wordt geplaatst, worden duplicaten die het resultaat zijn van de evaluatie van de argumenten van de functie genegeerd.<br><br>InformatieHoewel de kwalificatie DISTINCT wordt ondersteund, moet u heel zorgvuldig zijn bij het gebruiken hiervan omdat de lezer ten onrechte het idee kan krijgen dat een totale waarde wordt weergegeven als sommige gegevens zijn weggelaten. |
| TOTAL | Als het woord TOTAL voor de functieargumenten staat, wordt de berekening gemaakt op basis van alle mogelijke waarden bij de huidige selecties, en niet alleen de selecties die betrekking hebben op de huidige dimensiewaarde. Dit betekent dat de dimensies van het diagram worden genegeerd.<br><br>Wanneer u TOTAL [&lt;fld {.fld}&gt;] gebruikt en de TOTAL-kwalificatie wordt gevolgd door een lijst van één of meer veldnamen als subset van de dimensievariabelen van het diagram, maakt u een subset van de totale mogelijke waarden.<br><br>[Het aggregatiebereik definiëren](https://help.qlik.com/nl-NL/sense/November2025/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/define-aggregation-scope.htm) |

Voorbeeld: diagramuitdrukkingen

| Voorbeeld | Resultaat |
| --- | --- |
| `Sum(UnitSales)` | Retourneert het totaal van de waarden in `UnitSales`. |
| `Sum(UnitSales*UnitPrice)` | Retourneert het totaal van `UnitPrice` vermenigvuldigd met `UnitSales` geaggregeerd. |
| `Sum(TOTAL UnitSales*UnitPrice)` | Retourneert de totale som voor alle rijen in de tabel alsmede het totaal, omdat de kwalificatie `TOTAL` betekent dat de som is berekend, ongeacht de diagramdimensies. |
| `Sum({1} TOTAL UnitSales*UnitPrice)` | De set-analyseuitdrukking `{1}` definieert de set records die moeten worden geëvalueerd als `ALL`, ongeacht welke selectie wordt gemaakt. |

## Voorbeeld - Basisprincipes voor Sum

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

#### Diagramuitdrukking

Overzicht

Open de editor voor laden van gegevens en voeg het onderstaande load-script toe aan een nieuwe sectie.

Het load-script bevat:

* Een gegevensverzameling die wordt geladen in een tabel met de naam `Example`.

* De volgende velden in de gegevenstabel:

  * `Customer`

  * `Product`

  * `UnitSales`

  * `UnitPrice`

Load-script

```
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 '|');
```

Resultaten

Laad de gegevens en open een werkblad. Maak een nieuwe tabel en voeg deze velden toe als dimensies:

* `Customer`

* `Product`

Maak de volgende metingen:

* `=Sum(UnitSales)`, om de som van `UnitSales` te berekenen.

* `=Sum(UnitSales*UnitPrice)` om het geaggregeerde total van `UnitSales` vermenigvuldigd met `UnitPrice` te berekenen.

* `=Sum(TOTAL UnitSales*UnitPrice)`, om de totale som voor alle rijen in de tabel alsmede het totaal te berekenen, omdat de kwalificatie `TOTAL` betekent dat de som is berekend, ongeacht de diagramdimensies.

* `=Sum({1} TOTAL UnitSales*UnitPrice)`, om het totaal te berekenen, ongeacht de uitgevoerde selectie, omdat de set- analyseuitdrukking `{1}` de set records definieert die moeten worden geëvalueerd als `ALL`, ongeacht welke selectie wordt gemaakt.

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 |

Volg in dit voorbeeld het volgende:

* Voor de eerste meting, `Sum(UnitSales`, retourneert de cel `Totals``38`, wat het totaal is van de waarden in `UnitSales` binnen alle klanten en producten. De resultaten voor elke combinatie van klant en product worden samengevoegd tot de totale som van `UnitSales` voor elke combinatie. Bijvoorbeeld, de som van alle `UnitSales` van product `AA` van klant `Astrida` is `14`.

* Voor de tweede meting, `Sum(UnitSales*UnitPrice)`, retourneert de cel `Totals` `505` . Dit is het geaggregeerde totaal van `UnitSales` vermenigvuldigd met `UnitPrice` voor elke klant- en productcombinatie.

* Voor de derde meting, `Sum(TOTAL UnitSales*UnitPrice)`, is de geretourneerde waarde in alle rijen inclusief `Totals` `505` , omdat de kwalificatie `TOTAL` de diagramdimensies negeert. Als er echter een selectie wordt gemaakt op een dimensie zoals `Customer`, dan zullen de waarden veranderen. Als u bijvoorbeeld `Betacab` selecteert, zal de resulterende tabel slechts drie rijen hebben, één voor elk van de `Betacab` records, maar de kolom zal dezelfde totale waarde voor alle rijen retourneren (`90`).

* De vierde meting, `Sum({1} TOTAL UnitSales*UnitPrice)`, retourneert de waarde `505` ongeacht eventuele selecties omdat de set-analyseuitdrukking `{1}` de set records definieert die moet worden geëvalueerd als `ALL`. Als u een klant selecteert, bijvoorbeeld `Canutility`, is de geretourneerde waarde nog steeds `505`.

## Voorbeeld - Sum-scenario waarin verkoopgegevens worden geaggregeerd

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

#### Diagramuitdrukking

Overzicht

Een gegevensverzameling bevat verkoopcijfers voor winkels per regio. Het bedrijf wil de verkopen aggregeren.

Open de editor voor laden van gegevens en voeg het onderstaande load-script toe aan een nieuwe sectie.

Het load-script bevat:

* Een gegevensverzameling die wordt geladen in een tabel met de naam `Example`.

* De volgende velden in de gegevenstabel:

  * `Month`

  * `SalesProduct`

  * `Region`

  * `Sales`

Load-script

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

Resultaten

Laad de gegevens en open een werkblad. Maak een nieuwe draaotabel en voeg deze velden toe als dimensies:

* `Month`

* `Region`

Voeg dit veld toe als een kolomdimensie:

* `SalesProduct`

Maak de volgende meting:

* `=Sum(Sales)`, om de totale verkoop voor elk product te berekenen.

Om de draaitabel uit te breiden zodat alle rijen zichtbaar zijn, selecteert u in het eigenschappenvenster onder Uiterlijk Presentatie. Onder Rijen selecteert u Volledig uitgevouwen.

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 |

De resultaten tonen de verkoop voor elke `SalesProduct` per `Month` en `Region`, met een geaggregeerd totaal voor elke `Month`.

## Meer informatie

* [Set-analyse](https://help.qlik.com/nl-NL/sense/November2025/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/SetAnalysis/set-analysis-expressions.htm)
* [Het aggregatiebereik definiëren](https://help.qlik.com/nl-NL/sense/November2025/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/define-aggregation-scope.htm)