Table of contents


getXMLACubes(proxyURL:String, dataSourceInfo:String, catalog:String, callbackHandler:String, 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.


  • proxyUrl – the path to proxy URL to the OLAP data source, such as Microsoft Analysis Services, Mondrian, icCube.
  • dataSourceInfo – the service info of the OLAP data source.
  • catalog – the data source catalog name of the OLAP data source.
  • callbackHandler – JS function which will be called when the component obtains a list of all available cubes.
  • username (optional) – the name of user account at server. This parameter is necessary to complete authentication process.
  • password (optional) – the password to user account at server. This parameter is necessary to complete 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 dataSourceType. 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 dataSourceType = '';
var catalog = '';
var cube = '';

function diagnostic() {

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

function onDataSourceLoaded(result) {
  dataSourceInfo = result[0];
  dataSourceType = 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];
   dataSourceType: dataSourceType, 
   proxyUrl: proxyUrl, 
   dataSourceInfo: dataSourceInfo, 
   catalog: catalog, 
   cube: cube 


Check out on JSFiddle.

See also