addCalculatedMeasure(measure: Object)
[starting from version: 2.3]
This API call adds a calculated measure. Calculated measure has formula
property. If it is defined, the measure is calculated. You can create as many calculated measures for one report as you need, there is no limit towards the number of calculated measures. When you save the report all the calculated measures will be saved as well and loaded when the report is retrieved.
Note that you can add calculated measures only for reports based on "json"
, "csv"
, and "api"
data source types.
Parameters
measure
– the object that describes measure. This object can have the following parameters:
uniqueName
– String. The measure’s unique name. This property will be used as an identifier for the measure inside Flexmonster and as an identifier to remove the measure via API.formula
– String. Represents the formula. It can contain the following operators:+
, -
, *
, /
and the following functions:isNaN()
, !isNaN()
(check a full list). Other measures can be addressed using the measure’s unique name and aggregation function, for example sum("Price")
or max("Order")
. To see the list of supported aggregation functions for each data source type, refer to Flexmonster’s technical specifications. caption
(optional) – String. The measure’s caption.grandTotalCaption
(optional) – String. The measure’s grand total caption.active
(optional) – Boolean. Indicates whether the measure will be selected for the report (true
) or not (false
). active: false
can be useful if the measure has non-default properties, but should not be selected for the grid or the chart.individual
(optional) – Boolean. Only for "json"
and "csv"
data source types. Defines whether the formula is calculated using raw values (true
) or using aggregated values (false
). Default value: false
.calculateNaN
(optional) – Boolean. Defines whether the formula is calculated using NaN values (true
) or using null values (false
). Default value: true
.format
(optional) – String. The name of the number formatting that will be applied to the measure. Measure values can be formatted according to the number formatting defined in the report. All available number formattings are stored in the formats
array in the report. More information about the number formatting part of the report can be found in the number formatting article.Example
The following example shows the calculated measure Average Quantity which is calculated as sum("Quantity")/count("Quantity")
and will be added to the list of available measures but not selected for the report (active: false
):
var measure = { formula: 'sum("Quantity")/count("Quantity")', uniqueName: "Average Quantity", caption: "Average Quantity", grandTotalCaption: "Total Quantity", active: false }; flexmonster.addCalculatedMeasure(measure);
Open the example on JSFiddle.
See also
removeCalculatedMeasure
getAllMeasures
getMeasures
Calculated values tutorial