Built-in _sum Function
The built-in_sum
function sums the values from themap()
function call by summing up the information in the value for each row.
The information in the value for each row can be either a single number or during a re-reduce, an array of numbers.
The input values must be a number, not a string-representation of a number.
The entire map/reduce will fail if the reduce input is not in the correct format.
You should use the parseInt()
or parseFloat()
function calls within your map()
function stage to ensure that the input data is a number.
For example, using the same sales source data, accessing the group level 1 view would produce the total sales for each salesman:
{ "rows" : [ {"value" : 43000, "key" : [ "Adam" ] }, {"value" : 38000, "key" : [ "James" ] }, {"value" : 32000, "key" : [ "John" ] } ] }
Using a group level of 2 you get the information summarized by salesman and city:
{ "rows" : [ {"value" : 7000, "key" : [ "Adam", "London" ] }, {"value" : 19000, "key" : [ "Adam", "Paris" ] }, {"value" : 17000, "key" : [ "Adam", "Tokyo" ] }, {"value" : 18000, "key" : [ "James", "Paris" ] }, {"value" : 20000, "key" : [ "James", "Tokyo" ] }, {"value" : 10000, "key" : [ "John", "London" ] }, {"value" : 22000, "key" : [ "John", "Paris" ] } ] }