Sum - 图表函数
Sum() 用于计算聚合数据之间表达式或字段指定值的总和。
语法:
Sum([{SetExpression}] [DISTINCT] [TOTAL [<fld {,fld}>]] expr])
返回数据类型: 数字
参数:
参数 | 说明 |
---|---|
expr | 表达式或字段包含要度量的数据。 |
SetExpression | 聚合函数会默认聚合选择项定义的可能记录集合。可选记录集合可由集合分析表达式定义。 |
DISTINCT | 如果在函数参数前出现单词 DISTINCT,则将忽略计算该函数参数生成的副本。 信息注释虽然支持 DISTINCT 限定符,但需慎用,因为它可能会在遗漏某些数据的情况下让读者误以为显示了总计值。 |
TOTAL |
如果在函数参数前面出现单词 TOTAL,则计算给出当前选择项的所有可能值,而不只是属于当前维度值的那些值,即它会忽略图表维度。 通过使用 TOTAL [<fld {.fld}>](其中 TOTAL 限定符后跟一个或多个字段名称作为图表维度变量的子集的列表),您可以创建总可能值的子集。 |
示例和结果:
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。 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 '|');