1.Slice

Slice is a definition of what data subset from your data source is going to be shown in your report when you open it. By using slice in a report you can easily switch between different sets of values. Find more details below in the sections:

Slice properties

You can define fields that go to rows, go to columns and go to measures, add filtering, sorting, report filtering, expands and drills.
Here is a list of all available properties for slice:

columns – Array of objects. A list of hierarchies selected in the report slice for columns. Each object can have the following properties:

uniqueName – String, hierarchy unique name.

caption (optional) – String, hierarchy caption;

dimensionName (optional) – String, dimension name;

filter (optional) – object with the information on filtering:

members – Array of hierarchy’s members to be reflected/shown according to the applied filter;

negation – Boolean. Represents the filter on hierarchy’s members. It tells the component to show the members of hierarchy specified in items (true) or to show all the members of hierarchy except the items (false).

measure – Represents the filter on values. The name of the measure on which Top X or Bottom X filter will be applied.

quantity – Represents the filter on values. Number of elements to choose for the Top X filter if type is 'top' or for the Bottom X filter if type is 'bottom'.

type – Represents the filter type applied to the hierarchy. It can be: 'none' – filter is not applied to the hierarchy, 'members' – the filter on hierarchy’s members is applied, 'top' – the filter Top X is applied on values, 'bottom' – the filter Bottom X is applied on values.

levelName (optional) – String. Used to specify the level of the hierarchy that is shown on the grid.

sort (optional) – String, sorting type for the members ("asc", "desc" or "unsorted");

sortOrder (optional) – Array. Using this property you can set custom sorting for hierarchy members. You can specify sortOrder the following way: [“member_1”, “member_2”, etc.].

expandAll (optional) – Boolean. Indicates whether all nodes in the data tree will be expanded (true) or collapsed (false) on the grid and on charts.

columns (optional) – Array of objects. It is used to save and restore expanded columns.

rows – Array of objects. It is used to save and restore expanded rows.

measures – Array of objects. A list of selected measures and those which have different properties from default ones. Each object has the following properties:

uniqueName – String, measure unique name.

active (optional) – Boolean value that defines whether the measure will be in the list of available values but not selected (false) or will be selected for the report (true).

aggregation (optional) — String, unique name of aggregation that will be applied to the measure ("sum", "count", "distinctcount", "average", "product", "min", "max", "percent", "percentofcolumn", "percentofrow", "index", "difference", "%difference"). If it is calculated measure, it will be "none".

availableAggregations (optional) — Array of strings that represents the list of aggregation functions which can be applied to the current measure. If it is calculated measure, it will be [].

pages – Array of objects. A list of hierarchies selected in the report slice for pages (“Report Filter”). Each object has the following properties:

uniqueName – String. Hierarchy unique name.

caption (optional) – String, hierarchy caption;

dimensionName (optional) – String, dimension name;

filter (optional) – object with the information on filtering:

members – Array of hierarchy’s members to be reflected/shown according to the applied filter;

negation – Boolean. It tells the component to show the members of hierarchy specified in items (true) or to show all the members of hierarchy except the items (false).

levelName (optional) – String. Used to specify the level of the hierarchy that is shown on the grid.

sort (optional) – String. Sorting type for the members ("asc", "desc" or "unsorted");

sortOrder (optional) – Array. Using this property you can set custom sorting for hierarchy members. You can specify sortOrder the following way: [“member_1”, “member_2”, etc.].

rows – Array of objects. A list of hierarchies selected in the report slice for rows. Each object can have the following properties:

uniqueName – String, hierarchy unique name.

caption (optional) – String, hierarchy caption;

dimensionName (optional) – String, dimension name;

filter (optional) – object with the information on filtering:

members – Array of hierarchy’s members to be reflected/shown according to the applied filter;

negation – Boolean. Represents the filter on hierarchy’s members. It tells the component to show the members of hierarchy specified in items (true) or to show all the members of hierarchy except the items (false).

measure – Represents the filter on values. The name of the measure on which Top X or Bottom X filter will be applied.

quantity – Represents the filter on values. Number of elements to choose for the Top X filter if type is 'top' or for the Bottom X filter if type is 'bottom'.

type – Represents the filter type applied to the hierarchy. It can be: 'none' – filter is not applied to the hierarchy, 'members' – the filter on hierarchy’s members is applied, 'top' – the filter Top X is applied on values, 'bottom' – the filter Bottom X is applied on values.

levelName (optional) – String. Used to specify the level of the hierarchy that is shown on the grid.

sort (optional) – String, sorting type for the members ("asc", "desc" or "unsorted");

sortOrder (optional) – Array. Using this property you can set custom sorting for hierarchy members. You can specify sortOrder the following way: [“member_1”, “member_2”, etc.].

sorting (optional) – Object. Defines the sorting for numbers in a specific row and/or column in the pivot table.

column – Object. Defines the sorting for numbers in a specific column. Object has 3 properties:

tuple – Array. Consists of unique names that identifies the column in the table based on data in it;

measure – String. Measure unique name on which sorting will be applied;

type – String, sorting type ("asc" or "desc").

row – Object. Defines the sorting for numbers in a specific row. Object has 3 properties:

tuple – Array. Consists of unique names that identifies the row in the table based on data in it;

measure – String. Measure unique name on which sorting will be applied;

type – String, sorting type ("asc" or "desc").

useOlapFormatting (optional) – Boolean. It works for MSAS data source (XMLA and Accelerator) and for Mondrian (only Accelerator). Indicates whether the values from data source will be formatted according to the format defined in the cube (true) or not (false). Default value is false. useOlapFormatting is saved in the report JSON only if it is true.

Default slice

If slice was not defined, Flexmonster will select a default slice for the report, where the first hierarchy from data goes to rows and the first measure goes to columns. The automatic default slice selection available for JSON, CSV and OCSV data sources (it is not available for OLAP). You can turn off default slice by setting showDefaultSlice from options to false.
For example, have a look at JSON data below:

Expands

The information about expands and collapses is stored within the slice. When the customer performs one of these operations, all the changes can be saved within the report. Use expandAll property to apply the operation to all levels of data detail at once. This is how expands object looks:

Calculated values

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. Please note that you can add calculated measures only for reports based on JSON, CSV, OCSV data source. Below is the example of such calculated measure: