# Sum - diagramfunktion

Sum() beräknar summan av de värden som ges av uttrycket eller fältet över aggregerade data.

Syntax:

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

Returnerad datatyp: numeriska

Argument

| Argument | Beskrivning |
| --- | --- |
| expr | Det uttryck eller fält som innehåller de data som ska mätas. |
| SetExpression | Som standard kommer aggregeringsfunktionen att aggregera över den uppsättning möjliga poster som definierats av urvalet. En alternativ uppsättning poster kan definieras med ett uttryck för set-analys. |
| DISTINCT | Om predikatet DISTINCT förekommer framför funktionsargumenten ignoreras alla dubbletter som evaluerats utifrån funktionsargumenten.<br><br>Anteckning om informationÄven om DISTINCT-kvalificeraren stöds bör du vara mycket försiktig med att använda den eftersom den kan ge läsaren en felaktig bild av att ett totalt värde visas om vissa data har utelämnats. |
| TOTAL | Om ordet TOTAL står före funktionsargumenten görs beräkningen över alla valbara värden givet de aktuella valen, och inte bara sådana som rör det aktuella dimensionsvärdet, det vill säga att diagramdimensionerna ignoreras.<br><br>Genom att använda TOTAL [&lt;fld {.fld}&gt;], där kvalificeraren TOTAL följs av en lista med ett eller flera fältnamn som en delmängd av diagramdimensionens variabler, skapar du en delmängd av de totala möjliga värdena.<br><br>[Definiera aggregeringens omfattning](https://help.qlik.com/sv-SE/sense/November2025/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/define-aggregation-scope.htm) |

Exempel: diagramuttryck

| Exempel | Resultat |
| --- | --- |
| `Sum(UnitSales)` | Returnerar summan av värdena i `UnitSales`. |
| `Sum(UnitSales*UnitPrice)` | Returnerar summan av `UnitPrice` multiplicerat med `UnitSales` aggregerat. |
| `Sum(TOTAL UnitSales*UnitPrice)` | Returnerar summan för alla rader i tabellen samt totalen, eftersom kvalificeraren `TOTAL` innebär att summan beräknas oavsett diagramdimensioner. |
| `Sum({1} TOTAL UnitSales*UnitPrice)` | Det fasta analysuttrycket `{1}` definierar den uppsättning poster som ska utvärderas som `ALL`, oavsett vilket urval som har gjorts. |

## Exempel – grunderna i Sum

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

#### Diagramuttryck

Översikt

Öppna dataladdningsredigeraren och lägg till laddningsskriptet nedan i ett nytt delavsnitt.

Laddningsskriptet innehåller:

* En datauppsättning som läses in i en datatabell som heter `Example`.

* Följande fält i datatabellen:

  * `Customer`

  * `Product`

  * `UnitSales`

  * `UnitPrice`

Laddningsskript

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

Resultat

Ladda data och öppna ett ark. Skapa en ny tabell och lägg till dessa fält som dimensioner:

* `Customer`

* `Product`

Skapa följande mått:

* `=Sum(UnitSales)`, för att beräkna summan av `UnitSales`.

* `=Sum(UnitSales*UnitPrice)`, för att beräkna den aggregerade totalen av `UnitSales` multiplicerat med `UnitPrice`.

* `=Sum(TOTAL UnitSales*UnitPrice)`, för att beräkna summan för alla rader i tabellen samt totalen, eftersom kvalificeraren `TOTAL` innebär att summan är densamma för alla celler, oavsett diagramdimensioner.

* `=Sum({1} TOTAL UnitSales*UnitPrice)`, för att beräkna summan, oberoende av urval, eftersom setanalysuttrycket `{1}` definierar den uppsättning poster som ska utvärderas som `ALL`, oavsett vilket urval som har gjorts.

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 |

I detta exempel ska du observera följande:

* För det första mätvärdet, `Sum(UnitSales`, returnerar cellen `Totals``38` , som är summan av värdena i `UnitSales` för alla kunder och produkter. Resultatet för varje kund- och produktkombination sammanställs för att ge den totala summan av `UnitSales` för varje kombination. Till exempel är summan av alla `UnitSales` för produkten `AA` från kunden `Astrida``14` .

* För det andra mätvärdet, `Sum(UnitSales*UnitPrice)`, returnerar cellen `Totals``505` . Detta är den sammanlagda summan av `UnitSales` multiplicerat med `UnitPrice` för varje kund- och produktkombination.

* För det tredje mätvärdet, `Sum(TOTAL UnitSales*UnitPrice)`, är det värde som returneras i alla rader inklusive `Totals``505`, eftersom kvalificeraren `TOTAL` bortser från diagramdimensioner. Men om ett urval görs på en dimension som `Customer`, kommer värdena att förändras. Om du t.ex. väljer `Betacab` kommer den resulterande tabellen bara att ha tre rader, en för var och en av `Betacab`-posterna, men kolumnen kommer att returnera samma totalvärde för alla rader (`90`).

* Det fjärde mätvärdet, `Sum({1} TOTAL UnitSales*UnitPrice)`, returnerar värdet `505` fristående från eventuella val eftersom setanalysuttrycket `{1}` definierar den uppsättning poster som ska utvärderas som `ALL`. Om du väljer en kund, t.ex. `Canutility`, är det värde som returneras fortfarande `505`.

## Exempel – Summascenario med aggregering av försäljningsdata

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

#### Diagramuttryck

Översikt

En datauppsättning innehåller försäljningssiffror för butiker efter region. Företaget vill aggregera försäljningen.

Öppna dataladdningsredigeraren och lägg till laddningsskriptet nedan i ett nytt delavsnitt.

Laddningsskriptet innehåller:

* En datauppsättning som läses in i en datatabell som heter `Example`.

* Följande fält i datatabellen:

  * `Month`

  * `SalesProduct`

  * `Region`

  * `Sales`

Laddningsskript

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

Resultat

Ladda data och öppna ett ark. Skapa en ny pivottabell och lägg till dessa fält som raddimensioner:

* `Month`

* `Region`

Lägg till detta fält som en kolumndimension:

* `SalesProduct`

Skapa följande mått:

* `=Sum(Sales)`, för att beräkna den totala försäljningen för varje produkt.

Om du vill expandera pivottabellen så att alla rader visas väljer du Presentation i egenskapspanelen under Utseende. Under Rader väljer du Helt expanderad.

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 |

Resultatet visar försäljningen för varje `SalesProduct` per `Month` och `Region`, med en aggregerad total för varje `Month`.

## Mer information

* [Set-analys](https://help.qlik.com/sv-SE/sense/November2025/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/SetAnalysis/set-analysis-expressions.htm)
* [Definiera aggregeringens omfattning](https://help.qlik.com/sv-SE/sense/November2025/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/define-aggregation-scope.htm)