# 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-CN/sense/November2024/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/define-aggregation-scope.htm) |

示例和结果：

数据

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

示例和结果

| 示例 | 结果 |
| --- | --- |
| `Sum(UnitSales)` | 38.`UnitSales` 中值的合计。 |
| `Sum(UnitSales*UnitPrice)` | 505.`UnitPrice` 乘以聚合 `UnitSales` 的合计。 |
| `Sum(TOTAL UnitSales*UnitPrice)` | 对表中的所有行以及总计都返回 505，因为在忽略图表维度的情况下，TOTAL 限定符意味着总和仍是 505。 |
| 创建选择项`  Customer B `。<br><br>`Sum({1} TOTAL UnitSales*UnitPrice)` | 505，与创建的选择项无关，因为不管作出哪种选择，Set Analysis 表达式 {1} 都会定义该记录集合将被评估为 ALL。 |

示例中所使用的数据：

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

## 了解详情

* [集合分析](https://help.qlik.com/zh-CN/sense/November2024/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/SetAnalysis/set-analysis-expressions.htm)
* [定义聚合范围](https://help.qlik.com/zh-CN/sense/November2024/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/define-aggregation-scope.htm)