Despite the COVID-19 outbreak, our team continues operating at full speed. We are always here to support and answer all your questions.

Feel free to reach out by filling this quick form.

Fill the form
Get Free Trial
  1. API reference
  2. Welcome
    1. Component overview
    2. Get Flexmonster
    3. Quick start
    4. System requirements
    5. Troubleshooting
    6. Managing license keys
    7. Migrating from WebDataRocks to Flexmonster
  3. Integration with frameworks
    1. Available tutorials
    2. Integration with Angular
    3. Integration with React
    4. Integration with Vue
    5. Other integrations
      1. Integration with Python
        1. Integration with Django
        2. Integration with Jupyter Notebook
      2. Integration with React Native
      3. Integration with AngularJS (v1.x)
      4. Integration with TypeScript
      5. Integration with R Shiny
      6. Integration with jQuery
      7. Integration with Ionic
      8. Integration with Electron.js
      9. Integration with Webpack
      10. Integration with RequireJS
  4. Connecting to Data Source
    1. Supported data sources
    2. JSON
      1. Connecting to JSON
      2. Connecting to JSON using Flexmonster Data Server
      3. Data types in JSON
    3. CSV
      1. Connecting to CSV
      2. Connecting to CSV using Flexmonster Data Server
      3. Data types in CSV
    4. Database
      1. Connecting to SQL databases
      2. Connecting to a MySQL database
      3. Connecting to a Microsoft SQL Server database
      4. Connecting to a PostgreSQL database
      5. Connecting to an Oracle database
      6. Connecting to other databases
    5. Flexmonster Data Server
      1. Getting started with Flexmonster Data Server
      2. Installation guide
      3. Configurations reference
      4. Data sources guide
      5. Security and authorization guide
      6. The Data Server as a DLL
        1. Getting started with the Data Server as a DLL
        2. Referring the Data Server as a DLL
        3. Implementing the API controller
        4. Implementing the server filter
        5. Implementing the custom parser
        6. DLL configurations reference
        7. The controller's methods for request handling
      7. Troubleshooting the Data Server
    6. MongoDB
      1. Introduction to Flexmonster MongoDB Connector
      2. Getting started with the MongoDB Connector
      3. Embedding the MongoDB Connector into the server
    7. Microsoft Analysis Services
      1. Connecting to Microsoft Analysis Services
      2. Getting started with Flexmonster Accelerator
      3. Referring the Accelerator as a DLL
      4. Configuring the authentication process
      5. Configuring a secure HTTPS connection
      6. Troubleshooting
    8. Custom data source API
      1. Introduction to the custom data source API
      2. A quick overview of a sample Node.js server
      3. A quick overview of a sample .NET Core server
      4. Implement your own server
        1. Implementing the custom data source API server
        2. Implementing filters
        3. Supporting more aggregation functions
        4. Returning data for the drill-through view
    9. Elasticsearch
      1. Connecting to Elasticsearch
      2. Configuring the mapping
    10. 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
  5. Security
    1. Security in Flexmonster
    2. Security aspects of connecting to an OLAP cube
      1. Ways of connecting to an OLAP cube
      2. The data transfer process
      3. Data security
      4. Data access management
  6. Configuring report
    1. What is a report
    2. Data source
    3. Slice
    4. Options
    5. Mapping
    6. Number formatting
    7. Conditional formatting
    8. Set the report for the component
    9. Get the report from the component
    10. Date and time formatting
    11. Configuring global options
    12. Export and print
    13. Calculated values
    14. Custom sorting
  7. Charts
    1. Available tutorials
    2. Flexmonster Pivot Charts
    3. Integration with Highcharts
    4. Integration with amCharts
    5. Integration with Google Charts
    6. Integration with FusionCharts
    7. Integration with any charting library
  8. Customizing
    1. Customizing the Toolbar
    2. Customizing appearance
    3. Customizing the context menu
    4. Customizing the grid
    5. Customizing the pivot charts
    6. Localizing the component
  9. Updating to the latest version
    1. Updating to the latest version
    2. Release notes
    3. Migration guide from 2.7 to 2.8
    4. Migration guide from 2.6 to 2.7
    5. Migration guide from 2.5 to 2.6
    6. Migration guide from 2.4 to 2.5
    7. Migration guide from 2.3 to 2.4
    8. Migration guide from 2.2 to 2.3
  10. Flexmonster CLI Reference
    1. Overview
    2. Troubleshooting the CLI
    3. flexmonster create
    4. flexmonster add
    5. flexmonster update
    6. flexmonster version
    7. flexmonster help
  11. Documentation for older versions
Table of contents

Getting started with Flexmonster Accelerator

Flexmonster Accelerator for Microsoft Analysis Services cubes is a special server-side proxy that increases data loading speeds from the server to the customer’s browser. Flexmonster Accelerator works with:

  • Microsoft Analysis Services multidimensional cubes.
  • Microsoft Analysis Services tabular models.
  • Azure Analysis Services cubes.

When working with OLAP cubes, a browser component communicates with the server via the XMLA protocol. The XMLA protocol is heavy and exchanges a lot of excessive information – it takes too much time and memory to load and process the data.

We replaced the XMLA protocol and use direct requests from the component to the server.

This is our solution to two major problems that many of those who work with big data face:

  • We made big data transfer from the server to the browser incredibly fast. Our tool allows you to transfer large multidimensional data super easily and quickly. Reporting becomes more enjoyable and prompt for your end users.
  • We greatly reduced the load on the browser memory.

Open Live Demo

There are two ways to use Flexmonster Accelerator:

Install Flexmonster Accelerator as a Windows Service

The main benefits of running the Accelerator as a Windows service are:

  • It runs in the background and out of sight.
  • It starts automatically on Windows startup.
  • It’s hard for a user to inadvertently quit the application.

Prerequisites

  • Flexmonster Pivot version 2.2 or higher
  • Microsoft Analysis Services installed and configured
  • Microsoft .NET Framework 4.5.2 or higher
  • Flexmonster CLI

Flexmonster CLI is a command-line interface tool for Flexmonster. Install the CLI globally using npm:

npm install -g flexmonster-cli

After that, a new flexmonster command will be available in the console. Learn more about Flexmonster CLI and its commands in our documentation.

Now follow the steps below to start using Flexmonster Accelerator as a Windows service.

Step 1. Embed the component into your web page

If Flexmonster is not yet embedded, set up an empty component in your web page:

In pure JavaScript

Complete the Quick start guide. Your code should look similar to the following example:

var pivot = new Flexmonster({
    container: "pivotContainer",
    toolbar: true
});

In Angular

Complete the Integration with Angular guide. Your code should look similar to the following example:

<fm-pivot 
[toolbar]="true">
</fm-pivot>

In React

Complete the Integration with React guide. Your code should look similar to the following example:

<FlexmonsterReact.Pivot
toolbar={true}
/>

In Vue

Complete the Integration with Vue guide. Your code should look similar to the following example:

<Pivot
ref="pivot"
toolbar>
</Pivot>

Step 2. Install Flexmonster Accelerator

Start the installation process with the following CLI command:

flexmonster add accelerator -i

The flexmonster add accelerator command will do the following:

  • Download the .zip archive with Flexmonster Accelerator.
  • Automatically unpack the files in the current folder — as a result, the flexmonster-accelerator/ folder will appear in your current directory.

The -i option, which stands for --install, will automatically initiate the installation using the Flexmonster Accelerator.msi setup file. When the installation begins, just follow the wizard.

The flexmonster-accelerator/ folder has the following structure:

  • Flexmonster Accelerator.msi – a server-side utility that handles the connection between Microsoft Analysis Services and Flexmonster Pivot.
  • flexmonster.config – a file that contains configuration parameters for the utility (connection string, port, etc.).

Step 3. Configure Flexmonster Accelerator on the server

After a successful installation, run Flexmonster Accelerator Manager:

fm-accelerator-manager

Then, configure the Accelerator using the flexmonster.config file. It contains the following parameters:

  • CONNECTION_STRING – (required) the connection string for Microsoft Analysis Services. Example: Data Source=localhost;.
  • PORT – (optional) the port number for the proxy service endpoint. Default value: 50005.
  • CACHE_MEMORY_LIMIT – (optional) the maximum memory size available for caching (in MB). Default value: 0 (unlimited).
  • CACHE_ENABLED – (optional) indicates whether caching is enabled.
    Available since version 2.211. Default value: true.
  • GZIP – (optional) indicates whether server response compression is enabled. Available since version 2.409. Default value: true.
  • HTTPS – (optional) indicates whether the HTTPS connection is enabled. Default value: false.
  • WINDOWS_AUTH – (optional) indicates whether Windows authorization is enabled. Default value: false.
  • ALLOW_ORIGIN – (optional) the origin from which the server accepts the requests. If ALLOW_ORIGIN is set to *, requests from all origins are accepted. Note that if authorization is enabled (WINDOWS_AUTH=true), * cannot be set as the origin. In this case, specific origins must be defined. Several origins can be defined as follows: ALLOW_ORIGIN = http://localhost, https://example.com. Default value: *.

Note: to connect to Azure Analysis Services with Flexmonster Accelerator, specify the following parameters in flexmonster.config:

  • AZURE_AUTHORITY – the Azure authority URL (e.g., https://login.microsoftonline.com/<your_domain>). Learn more in the Microsoft guide.
  • AZURE_CLIENT_ID – the client ID of the service principal registered in Azure Active Directory.
  • AZURE_CLIENT_SECRET – the client secret of the service principal registered in Azure Active Directory.

You can check whether the Accelerator is up and running by navigating to its URL in the browser (by default: http://localhost:50005).

After the configuration you can close Flexmonster Accelerator Manager – the service will continue working in the background.

Step 4. Open a port for the Accelerator in the firewall

If you plan to allow connections to the Accelerator from outside the server, open the appropriate port in the firewall. The default port number is 50005, but it can be changed using the PORT parameter in the flexmonster.config file.

Step 5. Configure the component

Now it’s time to configure the client – Flexmonster Pivot Table and Charts. Let’s create a minimal configuration using the JavaScript API (replace proxyUrl, catalog and cube parameters with your specific values):

Connect to a multidimensional model

var pivot = new Flexmonster({
container: "pivotContainer",
toolbar: true,
report: {
dataSource: {
type: "microsoft analysis services",

/* URL to Flexmonster Accelerator */
proxyUrl: "http://localhost:50005",

/* Catalog name */
catalog: "Adventure Works DW Standard Edition",

/* Cube name */
cube: "Adventure Works",

// Flag to use the Accelerator instead of XMLA protocol binary
binary: true
}
}
});

Connect to a tabular model

var pivot = new Flexmonster({
container: "pivotContainer",
toolbar: true,
report: {
dataSource: {
type: "microsoft analysis services",

/* URL to Flexmonster Accelerator */
proxyUrl: "http://localhost:50005",

/* Database name */
catalog: "Adventure Works DW Standard Edition",

/* Model name */
cube: "Adventure Works",

// Flag to use the Accelerator instead of XMLA protocol binary
binary: true
}
}
});

Launch the web page from a browser — there you go! A pivot table is embedded in your project.

Cache control

Usually, a cache can improve performance greatly. However, if the underlying database ever changes, the cache goes out of date. By default, caching is enabled and controlled by the Accelerator.

It is also possible to disable the cache with the CACHE_ENABLED parameter in the flexmonster.config file (available since version 2.211):

CACHE_ENABLED = false

What’s next?

You may be interested in the following articles: