Get Free Trial
API reference
Table of contents


getXMLACubes(proxyURL: String, dataSourceInfo: String, catalog: String, callbackHandler: Function, username: String, password: String)

[starting from version: 1.5]

One of four API calls of OLAP/XMLA connectivity diagnostics.

Obtains a list of all available cubes on a given data source by proxyURL, dataSourceInfo and catalog. Returns an Array of cube names.

Note that getXMLACubes has an async equivalent – getXMLACubesAsync.


  • proxyUrl – String. The path to proxy URL to Microsoft Analysis Services.
  • dataSourceInfo – String. The service info of the OLAP data source.
  • catalog – the data source catalog name of the OLAP data source.
  • callbackHandler – Function. A JS function which will be called when the component obtains a list of all available cubes.
  • username optional – String. The name of the user account at the server. This parameter is necessary to complete the authentication process.
  • password optional – String. The password to the user account at the server. This parameter is necessary to complete the authentication process.


OLAP/XMLA connectivity step by step. First, getXMLADataSources() obtains a list of all data sources by given URL (for example: '') and getXMLAProviderName() returns type. Second, getXMLACatalogs() gets all available catalogs for the first data source from the list of available data sources. Then getXMLACubes() obtains a list of all cubes for the first catalog of the list of available catalogs. Finally, connectTo()uses all the information about data source to connect to it:

var proxyUrl = ''; 
var dataSourceInfo = '';
var type = '';
var catalog = '';
var cube = '';

function diagnostic() {

function getDataSources() {
  flexmonster.getXMLADataSources(proxyUrl, onDataSourceLoaded);

function onDataSourceLoaded(result) {
  dataSourceInfo = result[0];
  type = flexmonster.getXMLAProviderName(proxyUrl);
  flexmonster.getXMLACatalogs(proxyUrl, dataSourceInfo, onCatalogsLoaded);

function onCatalogsLoaded(result) {
  catalog = result[0];
  flexmonster.getXMLACubes(proxyUrl, dataSourceInfo, catalog, onCubesLoaded);

function onCubesLoaded(result) {
  cube = result[0];
  type: type,
  proxyUrl: proxyUrl,
   dataSourceInfo: dataSourceInfo,
   catalog: catalog,
   cube: cube


Check out on JSFiddle.

See also