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. collapseCell
    11. collapseData
    12. connectTo
    13. customizeAPIRequest
    14. customizeCell
    15. customizeChartElement
    16. customizeContextMenu
    17. dispose
    18. drillDownCell
    19. drillUpCell
    20. expandAllData
    21. expandCell
    22. expandData
    23. exportTo
    24. getAllConditions
    25. getAllHierarchies
    26. getAllHierarchiesAsync
    27. getAllMeasures
    28. getAllMeasuresAsync
    29. getCell
    30. getColumns
    31. getColumnsAsync
    32. getCondition
    33. getFilter
    34. getFlatSort
    35. getFormat
    36. getMeasures
    37. getMeasuresAsync
    38. getMembers
    39. getMembersAsync
    40. getOptions
    41. getReport
    42. getReportFilters
    43. getReportFiltersAsync
    44. getRows
    45. getRowsAsync
    46. getSelectedCell
    47. getSort
    48. getTableSizes
    49. getXMLACatalogs
    50. getXMLACatalogsAsync
    51. getXMLACubes
    52. getXMLACubesAsync
    53. getXMLADataSources
    54. getXMLADataSourcesAsync
    55. getXMLAProviderName
    56. getXMLAProviderNameAsync
    57. load
    58. off
    59. on
    60. open
    61. openCalculatedValueEditor
    62. openFieldsList
    63. openFilter
    64. print
    65. refresh
    66. removeAllCalculatedMeasures
    67. removeAllConditions
    68. removeCalculatedMeasure
    69. removeCondition
    70. removeSelection
    71. runQuery
    72. save
    73. scrollToColumn
    74. scrollToRow
    75. setFilter
    76. setFlatSort
    77. setFormat
    78. setOptions
    79. setReport
    80. setSort
    81. setTableSizes
    82. shareReport
    83. showCharts
    84. showGrid
    85. showGridAndCharts
    86. sortingMethod
    87. sortValues
    88. 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.
        Note that by default, "date string" fields are rounded down with the "1d" interval  (i.e., "04/25/2021T21:30:05" is rounded down to "04/25/2021T00:00:00"). If needed, you can set a custom interval for a field. Learn more about intervals.
        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.
        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. The "time" type is used for fields that store a time interval (e.g., duration or elapsed time), which is not related to a specific date.
        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. Available aggregation functions for all fields of a certain type. See an example on JSFiddle. Only for "json" and "csv" data source types.
    Available 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. Available aggregation functions for the "date string" field type.
    • number (optional) – Array of strings. Available aggregation functions for the "number" field type.
    • string (optional) – Array of strings. Available aggregation functions for the "string" field type.
    • time (optional) – Array of strings. Available aggregation functions for the "time" field type.
    See a list of supported aggregations in Flexmonster’s technical specifications.