# Sum - 圖表函數

Sum() 會計算已彙總的資料中，運算式或欄位提供的值總計。

語法：

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

傳回的資料類型： 數值

引數

| 引數 | 描述 |
| --- | --- |
| expr | 包含待測量之資料的運算式或欄位。 |
| SetExpression | 依預設，彙總函數將彙總選項所定義的一組可能記錄。集合分析運算式可定義一組替代的記錄。 |
| DISTINCT | 如果 DISTINCT 這個字出現在函數引數之前，會忽略評估函數引數所產生的重複項目。<br><br>資訊備註雖然支援 DISTINCT 限定詞，但使用時需非常小心，因它可能會誤導讀取器認為部分資料遭省略時會顯示總值。 |
| TOTAL | 如果單字 TOTAL 位於函數引數之前，則會在提供現行選項的所有可能值上進行計算，而不僅僅是關於目前維度值的那些選項，也就是說，它會忽略圖表維度。<br><br>透過使用 TOTAL [&lt;fld {.fld}&gt;] (其中 TOTAL 限定詞後面是做為圖表維度變數子集之一或更多欄位名稱的清單)，您可建立總可能值的子集。<br><br>[定義彙總範圍](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/define-aggregation-scope.htm) |

範例：圖表運算式

| 範例 | 結果 |
| --- | --- |
| `Sum(UnitSales)` | 傳回 `UnitSales` 中的值總計。 |
| `Sum(UnitSales*UnitPrice)` | 傳回 `UnitPrice` 總計乘以彙總的 `UnitSales`。 |
| `Sum(TOTAL UnitSales*UnitPrice)` | 傳回表格中所有列的總和，以及總計，因為 `TOTAL` 限定詞表示已計算加總，忽略圖表維度。 |
| `Sum({1} TOTAL UnitSales*UnitPrice)` | 集合分析運算式 `{1}` 會定義要評估為 `ALL` 的記錄組合，與選取的任何選項無關。 |

## 範例 - Sum 基礎事項

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

#### 圖表運算式

概述

開啟資料載入編輯器並將下面的載入指令碼新增至新的區段。

載入指令碼包含：

* 載入到稱為 `Example` 之資料表格的資料集。

* 資料表格中的欄位如下：

  * `Customer`

  * `Product`

  * `UnitSales`

  * `UnitPrice`

載入指令碼

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

結果

載入資料並開啟工作表。建立新的表格並將這些欄位新增為維度：

* `Customer`

* `Product`

建立下列量值：

* `=Sum(UnitSales)`，用來計算 `UnitSales` 的總和。

* `=Sum(UnitSales*UnitPrice)`，用來計算彙總的 `UnitSales` 總計乘以 `UnitPrice`。

* `=Sum(TOTAL UnitSales*UnitPrice)`，用來計算表格中所有列的總和以及總計，因為 `TOTAL` 限定詞表示所有儲存格的總和皆相同，忽略圖表維度。

* `=Sum({1} TOTAL UnitSales*UnitPrice)`，用來計算總計，獨立於選取的選項，因為集合分析運算式 `{1}` 會定義要評估為 `ALL` 的記錄組合，無論選取的選項為何。

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 |

在此範例中，請觀察以下事項：

* 對於第一個量值 `Sum(UnitSales`，`Totals` 儲存格傳回 `38`，這是 `UnitSales` 中所有客戶和產品的值總計。每個客戶和產品組合的結果進行了彙總，以傳回每個組合的 `UnitSales` 總和。例如，來自客戶 `Astrida` 的產品 `AA` 的所有 `UnitSales` 的總和為 `14`。

* 對於第二個量值 `Sum(UnitSales*UnitPrice)`，`Totals` 儲存格傳回 `505`。這是每個客戶和產品組合的 `UnitSales` 彙總總計乘以 `UnitPrice`。

* 對於第三個量值 `Sum(TOTAL UnitSales*UnitPrice)`，包括 `Totals` 在內的所有列中傳回的值為 `505`，因為 `TOTAL` 限定詞忽略了圖表維度。不過，如果在 `Customer` 等維度上進行選取，則值將會改變。例如，如果您選取 `Betacab`，則產生的表格將只有三列，每列對應每個 `Betacab` 記錄，但該欄將為所有列傳回相同的總值 (`90`)。

* 第四個量值 `Sum({1} TOTAL UnitSales*UnitPrice)` 會傳回值 `505`，獨立於任何選項，因為集合分析運算式 `{1}` 將要評估的記錄組合定義為 `ALL`。如果您選取某個客戶，例如 `Canutility`，則傳回的值仍然是 `505`。

## 範例 - 彙總銷售資料的 Sum 使用情境

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

#### 圖表運算式

概述

資料集包含依地區劃分的商店銷售數據。該公司希望彙總銷售額。

開啟資料載入編輯器並將下面的載入指令碼新增至新的區段。

載入指令碼包含：

* 載入到稱為 `Example` 之資料表格的資料集。

* 資料表格中的欄位如下：

  * `Month`

  * `SalesProduct`

  * `Region`

  * `Sales`

載入指令碼

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

結果

載入資料並開啟工作表。建立新的樞紐分析表並將這些欄位新增為列維度：

* `Month`

* `Region`

新增此欄位作為欄維度：

* `SalesProduct`

建立下列量值：

* `=Sum(Sales)`，用來計算每種產品的銷售總額。

若要展開樞紐分析表以查看所有列，請在屬性面板中的外觀之下選取呈現。在列之下，選取完全展開。

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 |

結果依 `Month` 和 `Region` 顯示每個 `SalesProduct` 的銷售額，以及每個 `Month` 的彙總總計。

## 瞭解更多資訊

* [集合分析](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/SetAnalysis/set-analysis-expressions.htm)
* [定義彙總範圍](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/define-aggregation-scope.htm)