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.
For each field in the data source, you can set 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. It can be aggregated only with count
and distinctcount
aggregations."number"
– the field stores numerical data. It can be aggregated with all the 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 "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. The field of this type is split into 3 different fields: Year, Month, Day."date string"
– the field stores a date. It can be formatted using the datePattern
option (default is "dd/MM/yyyy"
)."year/month/day"
– the field stores a date. It’s displayed as a multilevel hierarchy with the following levels: Year > Month > Day."year/quarter/month/day"
– the field is a date. It’s displayed as a multilevel hierarchy with the following levels: Year > Quarter > Month > Day."time"
– the field stores time. It can be formatted using the timePattern
option (default is "HH:mm:ss"
)."datetime"
– the field is a date. It can be formatted using the dateTimePattern
option (default is "dd/MM/yyyy HH:mm:ss"
). min
, max
, count
, and distinctcount
aggregations can be applied to it."id"
– the field is an id. The field of this type can be used for editing data. It’s not shown in the Field List."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 the example.hierarchy
(optional) – String. The hierarchy’s name. When configuring hierarchies, specify this property to set 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.parent
(optional) – String. The unique name of the parent level. This property is necessary to specify if the field is a level of a hierarchy and has a parent level. Only for "json"
, "csv"
, and "api"
data source types.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. It represents the list of aggregation functions that can be applied to the current measure.filters
(optional) – Boolean. It 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 as false
, hides the field from the Field List. Only for "elasticsearch"
, "csv"
, and "api"
data source types. interval
(optional) – String. Allows aggregating dates by the given interval. The interval
property can be used in the following ways: "elasticsearch"
data source type."date string"
and "datetime"
field types. Supported date intervals are the following: "d"
for days, "h"
for hours, "m"
for minutes, and "s"
for seconds (e.g., "1d"
, "7h"
, "20m"
, "30s"
). The maximum value for the interval is "1d"
. Only for "csv"
and "json"
data source types. time_zone
(optional) – String. Used for date histogram. You can specify timezones as either an ISO 8601 UTC offset (e.g. +01:00
or -08:00
) or as a timezone ID as specified in the IANA timezone database, such as `America/Los_Angeles`. Only for "elasticsearch"
data source type. Check out the example.format
(optional) – String. Used to format different types of date fields. format
can be used in the following ways:"elasticsearch"
data source type."date string"
field type ("date"
in custom data source API), it allows overriding datePattern
set in the Options Object for a certain field. The pattern string is the same as in the datePattern
option (i.e. "dd/MM/yyyy"
). Only for "json"
, "csv"
, and "api"
data source types. "datetime"
field type, it allows overriding dateTimePattern
set in the Options Object for a certain field. The pattern string is the same as in the dateTimePattern
option (i.e. "dd/MM/yyyy HH:mm:ss"
). Only for "json"
and "csv"
data source types. "time"
field type, it allows overriding timePattern
set in the Options Object for a certain field. The pattern string is the same as in the timePattern
option (i.e. "HH:mm:ss"
). Only for "json"
and "csv"
data source types.min_doc_count
(optional) – Number. Only for "elasticsearch"
data source type. Used for date histogram. Can be used to show intervals with empty values (min_doc_count: 0
). Default value: 1
(empty intervals are hidden).