Get Free Trial
API reference
Table of contents

addCalculatedMeasure

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 to 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 restored.

Learn more about calculated measures in this guide: Calculated values.

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:
    • Operators and functions. Check out the full list.
    • Numbers. Negative numbers can be used as well (see an example).
    • Measures. A measure can be addressed using its unique name and an aggregation function. For example, sum("Price") or max("Order"). See a list of supported aggregations in Flexmonster’s technical specifications.
    • Calculated measures. To address another calculated measure, specify its unique name. For example, "Formula #1".
  • 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):

let 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

Calculated values guide
removeCalculatedMeasure()
getAllMeasures()
getMeasures()