Connect to Analysis services with Custom API

Answered
Jesica asked on February 24, 2026

Good morning! regarding our concerns with performance using accelerator to connect to Analysis Services, we'd like to perform a POC to connect .net api endpoints in server side to improve performance, according to this

"https://www.flexmonster.com/doc/implement-custom-data-source-api/"

Do you have any code examples on how to program the endpoints? I find it is quite complex to create the queries dynamically?

 

Thanks!

1 answer

Public
Maksym Diachenko Maksym Diachenko Flexmonster February 25, 2026

Hello, Jesica,

Thank you for reaching out to us.

We have a GitHub example with the custom API server implemented using .NET Core: https://github.com/flexmonster/api-data-source/tree/master.
This example shows the implementation of all required endpoints and supports loading data from CSV, JSON, and several databases. However, we do not have an example or any known use cases for implementing the custom API that fetches data from SSAS.

Developing the custom API server that loads data from SSAS is indeed quite a complex task, due to the following factors:

  1. You would need to convert Flexmonster’s custom API requests into MDX/DAX queries and then transform the Analysis Services response back into the format expected by the custom API. This adds a significant data transformation layer that can be difficult to develop and maintain.
  2. Some Flexmonster features are specific to the SSAS data source (like memberProperties). In contrast, others are not supported for cubes due to inherent limitations, but are available via the custom API (such as flat grid layout and changing aggregations). Handling these differences would require additional logic and synchronization with Flexmonster UI.

In addition, Flexmonster Accelerator is already well-optimized and efficient for querying the data from a pivot table. It even uses our custom communication protocol, which is more compact than XMLA and excludes unnecessary information. While there may be some room for improving the performance, re-implementing this logic with custom API would introduce additional complexity, which will likely offset any potential gains.

We are looking forward to hearing your feedback.

Best regards,
Maksym

Please sign in or register to submit your answer