Dear visitor, despite the COVID-19 outbreak, our team continues operating at full speed.

Also, here is the form where you can apply for a special discount and we will contact you with possible options. Stay safe and continue achieving your business goals.

Fill the form
Get Free Trial
Get Free Trial
  1. API reference
    1. Introduction
    2. Flexmonster()
  2. Objects
    1. All objects
    2. Report Object
    3. Data Source Object
    4. Mapping Object
    5. Slice Object
    6. Options Object
    7. Filtering
      1. Filter Object
      2. Number Query Object
      3. String Query Object
      4. Date Query Object
      5. Time Query Object
      6. Value Query Object
    8. Format Object
    9. Conditional Format Object
    10. Cell Data Object
    11. Chart Data Object
    12. Toolbar Object
  3. Methods
    1. All methods
    2. addCalculatedMeasure
    3. addCondition
    4. alert
    5. clear
    6. clearFilter
    7. clearXMLACache
    8. closeFieldsList
    9. collapseAllData
    10. collapseData
    11. connectTo
    12. customizeAPIRequest
    13. customizeCell
    14. customizeContextMenu
    15. dispose
    16. expandAllData
    17. expandData
    18. exportTo
    19. getAllConditions
    20. getAllHierarchies
    21. getAllMeasures
    22. getCell
    23. getColumns
    24. getCondition
    25. getFilter
    26. getFlatSort
    27. getFormat
    28. getMeasures
    29. getMembers
    30. getOptions
    31. getReport
    32. getReportFilters
    33. getRows
    34. getSelectedCell
    35. getSort
    36. getXMLACatalogs
    37. getXMLACubes
    38. getXMLADataSources
    39. getXMLAProviderName
    40. load
    41. off
    42. on
    43. open
    44. openCalculatedValueEditor
    45. openFieldsList
    46. openFilter
    47. print
    48. refresh
    49. removeAllCalculatedMeasures
    50. removeAllConditions
    51. removeCalculatedMeasure
    52. removeCondition
    53. removeSelection
    54. runQuery
    55. save
    56. setFilter
    57. setFlatSort
    58. setFormat
    59. setOptions
    60. setReport
    61. setSort
    62. showCharts
    63. showGrid
    64. showGridAndCharts
    65. sortingMethod
    66. sortValues
    67. updateData
  4. Events
    1. All events
    2. afterchartdraw
    3. aftergriddraw
    4. beforegriddraw
    5. beforetoolbarcreated
    6. cellclick
    7. celldoubleclick
    8. chartclick
    9. datachanged
    10. dataerror
    11. datafilecancelled
    12. dataloaded
    13. drillthroughclose
    14. drillthroughopen
    15. exportcomplete
    16. exportstart
    17. fieldslistclose
    18. fieldslistopen
    19. filterclose
    20. filteropen
    21. loadingdata
    22. loadinglocalization
    23. loadingolapstructure
    24. loadingreportfile
    25. localizationerror
    26. localizationloaded
    27. olapstructureerror
    28. olapstructureloaded
    29. openingreportfile
    30. printcomplete
    31. printstart
    32. querycomplete
    33. queryerror
    34. ready
    35. reportchange
    36. reportcomplete
    37. reportfilecancelled
    38. reportfileerror
    39. runningquery
    40. update
  5. Custom data source API
    1. All requests
    2. /handshake request
    3. /fields request
    4. /members request
    5. /select request for the pivot table
    6. /select request for the flat table
    7. /select request for the drill-through view
    8. Field Object
    9. Filter Object
  6. MongoDB Connector API
    1. All methods
    2. getSchema
    3. getMembers
    4. getSelectResult
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 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