🍉 Meet Flexmonster Pivot Table & Charts 2.9.Check out all hot features!
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. Table Sizes Object
    11. Cell Data Object
    12. Chart Data Object
    13. Toolbar Object
    14. Chart Legend Data Object
    15. Share Report Connection 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. customizeChartElement
    15. customizeContextMenu
    16. dispose
    17. expandAllData
    18. expandData
    19. exportTo
    20. getAllConditions
    21. getAllHierarchies
    22. getAllHierarchiesAsync
    23. getAllMeasures
    24. getAllMeasuresAsync
    25. getCell
    26. getColumns
    27. getColumnsAsync
    28. getCondition
    29. getFilter
    30. getFlatSort
    31. getFormat
    32. getMeasures
    33. getMeasuresAsync
    34. getMembers
    35. getMembersAsync
    36. getOptions
    37. getReport
    38. getReportFilters
    39. getReportFiltersAsync
    40. getRows
    41. getRowsAsync
    42. getSelectedCell
    43. getSort
    44. getTableSizes
    45. getXMLACatalogs
    46. getXMLACatalogsAsync
    47. getXMLACubes
    48. getXMLACubesAsync
    49. getXMLADataSources
    50. getXMLADataSourcesAsync
    51. getXMLAProviderName
    52. getXMLAProviderNameAsync
    53. load
    54. off
    55. on
    56. open
    57. openCalculatedValueEditor
    58. openFieldsList
    59. openFilter
    60. print
    61. refresh
    62. removeAllCalculatedMeasures
    63. removeAllConditions
    64. removeCalculatedMeasure
    65. removeCondition
    66. removeSelection
    67. runQuery
    68. save
    69. scrollToColumn
    70. scrollToRow
    71. setFilter
    72. setFlatSort
    73. setFormat
    74. setOptions
    75. setReport
    76. setSort
    77. setTableSizes
    78. shareReport
    79. showCharts
    80. showGrid
    81. showGridAndCharts
    82. sortingMethod
    83. sortValues
    84. 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. unauthorizederror
    41. 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
    10. Filter Group Object
  6. MongoDB Connector API
    1. All methods
    2. getSchema
    3. getMembers
    4. getSelectResult
  7. Flexmonster Connector for amCharts
    1. All methods
    2. amcharts.getData
    3. amcharts.getCategoryName
    4. amcharts.getMeasureNameByIndex
    5. amcharts.getNumberOfMeasures
    6. amcharts.getNumberFormatPattern
Table of contents

Mapping Object

The Mapping Object allows defining field data types, captions, and multilevel hierarchies; grouping fields under separate dimensions, and setting other view configurations of hierarchies.

The Mapping Object is available for all data sources. It presents a powerful way to neatly separate a data source from its presentation. Find more details about the Mapping Object in this tutorial with examples.

The Mapping object has the following properties:

  • (uniqueName) – Object | Array of objects. Allows setting the mapping for a specific field from the dataset. (uniqueName)is the field’s unique name.
    Specify the mapping as an object to set it for a certain field. See an example on JSFiddle.
    For "json" and "csv" data source types, it is possible to create several fields from a certain field. It can be done by specifying the mapping as an array of objects, where each object is a new field. Learn more in our guide.
    Each object can have the following properties:
    • caption (optional) – String. The hierarchy’s caption.
    • type (optional) – String. The field’s data type. Only for "json", "csv", and "api" data source types. type can be:
      • "string" – The field stores string data.
      • "number" – The field stores numerical data. It can be aggregated with all available aggregations.
      • "month" – The field stores months. Note that if the field stores month names only (in either short or full form), the field will be recognized by Flexmonster as a field of the "month" type automatically. If the field contains custom month names, specify its type as "month" explicitly.
      • "weekday" – The field stores days of the week.
      • "date" – The field stores a date. Fields of this type are split into 3 different fields: Year, Month, Day. Only for "json" and "csv" data source types.
      • "year/month/day" – The field stores a date. It’s displayed as a multilevel hierarchy with the following levels: Year > Month > Day. Only for "json" and "csv" data source types.
      • "year/quarter/month/day" – The field is a date. It’s displayed as a multilevel hierarchy with the following levels: Year > Quarter > Month > Day. Only for "json" and "csv" data source types.
      • "date string" – The field stores a date. Fields of this type are represented as strings and can be used in rows, columns, or report filters. The component sorts members of such a field as dates.
        Fields of the "date string" type can be formatted using the datePattern option (the default pattern is "dd/MM/yyyy").
      • "datetime" – The field stores a date. You can select fields of this type for values and apply min, max, count, and distinctcount aggregations to them.
        Fields of the "datetime" type can be formatted using the dateTimePattern option (the default pattern is "dd/MM/yyyy HH:mm:ss").
      • "time" – The field stores time. Fields of this type can be formatted using the timePattern option (the default pattern is "HH:mm:ss").
      • "id" – The field is an id. This field is not shown in the Field List. Fields of this type can be used for editing data.
      • "property" – The field for setting member properties. This field is not shown in the Field List. For example, it can be used to associate a productID with a product. See an example here.
    • hierarchy (optional) – String. The hierarchy’s name. When configuring hierarchies, specify this property to mark the field as a level of a hierarchy or as a member property of a hierarchy (in this case, the type parameter should be set to "property"). Only for "json", "csv", and "api" data source types.
      See how to configure multilevel hierarchies.
    • parent (optional) – String. The unique name of the parent level. This property is necessary if the field is a level of a hierarchy and has a parent level. Only for "json", "csv", and "api" data source types.
      See how to configure multilevel hierarchies.
    • folder (optional) – String. The field’s folder. Folders are used to group several fields in the Field List. folder supports nesting via / (e.g., "Folder/Subfolder/"). Only for "json", "csv", and "api" data source types.
    • aggregations (optional) — Array of strings. This property represents the list of aggregation functions that can be applied to the current measure.
    • filters (optional) – Boolean. This property allows enabling and disabling the UI filters for a specific hierarchy. When set to false, the UI filters are disabled. Default value: true.
    • visible (optional) – Boolean. When set to false, hides the field from the Field List. Only for "elasticsearch", "json", "csv", and "api" data source types.
    • interval (optional) – String. Allows rounding down dates by the given interval. For example, if the interval is "1d", 2021-05-25T21:30:00 will be rounded to 2021-05-25T00:00:00. See an example on JSFiddle.
      The interval property can be used in the following ways:
      • For the date histogram in Elasticsearch. Check out supported time units. Only for the "elasticsearch" data source type.
      • For the "date string" and "datetime" field types. Supported date intervals are the following:
        • "y" for one year (e.g., "y").
        • "q" for one quarter (e.g., "q").
        • "M" for one month (e.g., "M").
        • "w" for one week (e.g., "w").
        • "d" for days (e.g., "1d"). Note that rounding by days starts from 1 January 1970.
        • "h" for hours (e.g., "7h").
        • "m" for minutes (e.g., "20m").
        • "s" for seconds (e.g., "30s").
        Note that "y", "q", "M", and "w" intervals should be used without numbers. Only for "csv" and "json" data source types.
    • isMeasure (optional) – Boolean. When set to true, the field can be selected only as a measure. The isMeasure property should be used only with the strictDataTypes option (see an example on JSFiddle). Only for the "json" data source type. Default value: false.
    • time_zone (optional) – String. Used for the date histogram. You can specify time zones as either an ISO 8601 UTC offset (e.g., +01:00 or -08:00) or as a time zone ID as specified in the IANA time zone database, such as America/Los_Angeles. Only for the "elasticsearch" data source type. Check out an example here.
    • format (optional) – String. Used to format different types of date fields. format can be used in the following ways:
      • For the date histogram in Elasticsearch. The date format/pattern is described in the Elasticsearch documentation. Try a live sample on JSFiddle.
        If the datePattern option is defined, format will override its value for the field.
        Only for the "elasticsearch" data source type.
      • For a field of the "date string" type, it allows overriding the datePattern set in the Options Object. The pattern string for the format is the same as in the datePattern option (i.e., "dd/MM/yyyy"). Only for "json", "csv", and "api" data source types. Learn more about date and time formatting.
      • For a field of the "datetime" type, it allows overriding the dateTimePattern set in the Options Object. The pattern string for the format is the same as in the dateTimePattern option (i.e., "dd/MM/yyyy HH:mm:ss"). Only for "json", "csv", and "api" data source types. Learn more about date and time formatting.
      • For a field of the "time" type, it allows overriding the timePattern set in the Options Object. The pattern string for the format is the same as in the timePattern option (i.e., "HH:mm:ss"). Only for "json", "csv", and "api" data source types. Learn more about date and time formatting.
    • min_doc_count (optional) – Number. Only for the "elasticsearch" data source type. Used for the date histogram. Can be used to show intervals with empty values (min_doc_count: 0). Default value: 1 (empty intervals are hidden).
  • aggregations (optional) – Object. Supported aggregation functions for all fields of a certain type. See an example on JSFiddle. Only for "json" and "csv" data source types.
    Supported aggregations for a certain field can be defined in the [field_name].aggregations property.
    The aggregations object can have the following properties:
    • date (optional) – Array of strings. Supported aggregation functions for the "date string" field type.
    • number (optional) – Array of strings. Supported aggregation functions for the "number" field type.
    • string (optional) – Array of strings. Supported aggregation functions for the "string" field type.
    • time (optional) – Array of strings. Supported aggregation functions for the "time" field type.
    See a list of supported aggregations in Flexmonster’s technical specifications.