Need a special offer?Find out if your project fits.
  1. API reference
  • Introduction
  • Connecting to Data Source
    1. Supported data sources
    2. Connecting to other data sources
    Configuring the component
  • Browser compatibility
  • Documentation for older versions
  • Table of contents

    Supporting more aggregation functions

    Using the custom data source API allows you to decide which aggregations to enable in Flexmonster and support on the back end.

    The supported aggregations can be defined in the schema for fields of a certain type or each field individually. The aggregations supported by Flexmonster for the custom data source API connection are the following: "sum", "count", "distinctcount", "average", "median", "product", "min", "max", "stdevp", "stdevs", "none", or a custom aggregation.

    It is possible to define which aggregations are available for which fields in the back end; it is also not necessary to implement all the aggregations supported by Flexmonter.

    Built-in front-end aggregations

    For the custom data source API, Flexmonster supports the following built-in front-end aggregations: "percent", "percentofcolumn", "percentofrow", "percentofparentcolumntotal", "percentofparentrowtotal", "index", "differenceofcolumn", "differenceofrow", "%differenceofcolumn", "%differenceofrow", "runningtotalsofcolumn", "runningtotalsofrow".

    These aggregations will appear in Flexmonster Pivot automatically if at least one aggregation is implemented on the back end (e.g., "sum").

    Note This feature is available only for the fields of the "number" type.

    Custom aggregations

    Besides aggregations supported by Flexmonster Pivot, you can implement a custom aggregation on your server and define it in the schema:

      "aggregations": {
       "number": ["sum", "average", "squareroot"],

    When the custom aggregation is defined in the schema, you can use it on the client side. In the component, a measure with the custom aggregation applied will look similar to the following: Price (squareroot).

    Manage the list of available aggregations in Flexmonster

    On the client side, you can customize the list of aggregations available for a specific field with the MappingObject. This object has the "aggregations" property, which defines a list of available aggregations. That list can contain both the aggregations supported on the back end (including custom ones) and the built-in front-end aggregations.

    To learn more about the "aggregations" property, refer to the Mapping guide.

    What's next?

    You may be interested in the following articles: