A newer version of this documentation is available.

View Latest

Built-in _sum Function

  • concept
    +
    The built-in _sum function sums the values from the map() 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"  ] }
       ]
    }