Sum: sum
Syntax
Aggregate syntax
in a Data Set expression |
sum ( dataset { groupingClause } ) |
in a Component expression within an aggr clause |
sum ( component ) { groupingClause } |
Analytic syntax
in a Data Set expression |
sum ( dataset over ( analyticClause ) ) |
in a Component expression within a calc clause |
sum ( component over ( analyticClause ) ) |
Input parameters
dataset |
the operand Data Set |
component |
the operand Component |
groupingClause |
see Aggregate invocation |
analyticClause |
see Analytic invocation |
Semantics for scalar operations
This operator cannot be applied to scalar values.
Input parameters type
dataset
dataset { measure<number> _+ }
component
component<number>
Result type
result
dataset { measure<number> _+ }
| component<number>
The result is declared with type number. Since integer is a subtype of number, implementations may preserve the integer type for the resulting measure or component when all operand values are integer and the sum is computed in integer arithmetic. When any operand value is a non-integer number, the result is a number. Implementations should document their policy when integer sums overflow the representable range of integer (for example: error, widening to number, or wrap-around).
Additional Constraints
None.
Behaviour
The operator returns the sum of the input values. For other details, see Aggregate and Analytic invocations.
Examples
Given the operand dataset DS_1:
Input DS_1 (see structure)
Id_1 |
Id_2 |
Id_3 |
Me_1 |
|---|---|---|---|
2011 |
A |
XX |
3 |
2011 |
A |
YY |
5 |
2011 |
B |
YY |
7 |
2012 |
A |
XX |
2 |
2012 |
B |
YY |
4 |
Example 1
DS_r := sum ( DS_1 group by Id_1 );
results in (see structure):
Id_1 |
Me_1 |
|---|---|
2011 |
15 |
2012 |
6 |