1. API reference
  2. Welcome
    1. Component overview
    2. Quick start
    3. System requirements
    4. Troubleshooting
    5. Managing license keys
  3. Connecting to Data Source
    1. JSON
      1. Connecting to JSON
      2. Connecting to JSON using the Data Compressor
      3. Data types in JSON
    2. CSV
      1. Connecting to CSV
      2. Connecting to CSV using the Data Compressor
      3. Data types in CSV
    3. Database
      1. Connecting to SQL databases
      2. Connecting to other databases
      3. Connecting to a database with Node.js
      4. Connecting to a database with .NET
      5. Connecting to a database with .NET Core
      6. Connecting to a database with Java
      7. Connecting to a database with PHP
    4. Microsoft Analysis Services
      1. Connecting to Microsoft Analysis Services
      2. Getting started with the Accelerator
      3. Installing the Accelerator as a Windows service
      4. Referring the Accelerator as a DLL
      5. Configuring the authentication process
      6. Configuring a secure HTTPS connection
      7. Troubleshooting
    5. Pentaho Mondrian
      1. Connecting to Pentaho Mondrian
      2. Getting started with the Accelerator
      3. Configuring Mondrian roles
      4. Configuring username/password protection
      5. Configuring a secure HTTPS connection
      6. Troubleshooting
    6. Elasticsearch
      1. Connecting to Elasticsearch
      2. Configuring the mapping
  4. Security
    1. Security in Flexmonster
    2. Security aspects when connecting to an OLAP cube
      1. The data transfer process
      2. Data security
      3. Data access management
    3. Security aspects when connecting to a database
      1. The data transfer process
      2. Data access management
  5. Configuring report
    1. What is a report
    2. Data source
    3. Slice
    4. Options
    5. Number formatting
    6. Conditional formatting
    7. Set the report for the component
    8. Get the report from the component
    9. Date and time formatting
    10. Configuring global options
    11. Export and print
    12. Calculated values
    13. Custom sorting
  6. Integration with frameworks
    1. Available tutorials
    2. Integration with AngularJS (v1.x)
    3. Integration with Angular
    4. Integration with React
    5. Integration with Webpack
    6. Integration with ASP.NET
    7. Integration with jQuery
    8. Integration with JSP
    9. Integration with TypeScript
    10. Integration with RequireJS
    11. Integration with PhoneGap
  7. Integration with charts
    1. Integration with Highcharts
    2. Integration with Google Charts
    3. Integration with FusionCharts
    4. Integration with any charting library
  8. Customizing
    1. Customizing toolbar
    2. Customizing appearance
    3. Customizing context menu
    4. Localizing component
  9. Updating to the latest version
    1. Updating to the latest version
    2. Release notes
    3. Migration guide from 2.6 to 2.7
    4. Migration guide from 2.5 to 2.6
    5. Migration guide from 2.4 to 2.5
    6. Migration guide from 2.3 to 2.4
    7. Migration guide from 2.2 to 2.3
    8. Documentation for older versions
Table of contents

Migration guide from 2.5 to 2.6

From Flexmonster Pivot Table & Charts 2.5 to 2.6

Easy migration is our priority as well as new cool features. To update to version 2.6 just follow our guide Updating to the latest version. In most cases, all the existing code is fully compatible with the new version.

The full list of new features is available in our release notes for version 2.6. Here you will also find the links to our tutorials explaining how to use the new features.

XML deprecation

Since the majority of our customers already switched to JSON format of the reports, XML format is deprecated starting from the version 2.6. Old XML reports can be converted via online XML to JSON converter or converter as npm package.

Changes in Report Object and API calls

Among the other improvements, there was added an ability to select a measure several times for the report applying different aggregations. For example, Revenue measure can be selected 2 times for a pivot table showing different aggregated values Revenue (Sum) and Revenue (Average). Check out the JSFiddle demo.

In the version 2.5, the unique name of the measure was used to apply sorting, filtering on values and table sizes. As long as in version 2.6 one measure can be selected several times, it may be necessary to provide not only the unique name of the measure but also its aggregation type to identify the measure. That is why measure (String) is replaced with measure (Object). measure has the following properties:

  • uniqueName – String. Unique measure name.
  • aggregation (optional) – String. Measure aggregation type.

aggregation parameter is optional. It needs to be specified when the report contains one measure with several aggregations.


setTopX API call usage in version 2.5:
flexmonster.setTopX("Category", 2, "Price");
setTopX API call usage in version 2.6:
flexmonster.setTopX("Category", 2, {"uniqueName": "Price"});

"Price" is replaced with {"uniqueName": "Price"}.

All changes are backward compatible which means the code from version 2.5 will continue working. Moreover, when the report composed in version 2.5 will be loaded into version 2.6 and then saved with it, the changes in the report object will be done automatically. However, if your own code composes/parses reports or uses API calls from the list below, it is recommended to update the code by replacing measure (String) with measure (Object). Below is the list of places where such update is needed.

To update in Report Object:

  • report.slice.sorting.row.measure
  • report.slice.sorting.column.measure
  • report.slice.rows[n].filter.measure
  • report.slice.columns[n].filter.measure
  • report.slice.expands.rows[n].measure
  • report.slice.expands.columns[n].measure
  • report.slice.drills.rows[n].measure
  • report.slice.drills.columns[n].measure
  • report.options.chart.activeMeasure
  • report.tableSizes.rows[n].measure
  • report.tableSizes.columns[n].measure

Check out the updated structure of Report Object.

To update in API calls usage:

Updating from the previous versions