Get Free Trial
API reference
Table of contents

getXMLAProviderName

getXMLAProviderName(proxyURL: String, callbackHandler: Function, username: String, password: String): String

[starting from version: 1.5]

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

Returns type for given proxyUrl. type is a type of data source. For OLAP/XMLA connectivity it should be "microsoft analysis services".

If getXMLADataSources() is called for proxyUrl first and then getXMLAProviderName() is called for the same proxyURL, getXMLAProviderName() will be ready to return type immediately. Otherwise callbackHandler is needed to get type.

Note that getXMLAProviderName has an async equivalent – getXMLAProviderNameAsync.

Parameters

  • proxyUrl – String. The path to proxy URL to Microsoft Analysis Services.
  • callbackHandler optional – Function. A JS function which will be called when the component is ready to give type.
  • 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.

Example

OLAP/XMLA connectivity step by step. First, getXMLADataSources() obtains a list of all data sources by given URL (for example: 'http://olap.flexmonster.com/olap/msmdpump.dll') 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 = 'http://olap.flexmonster.com/olap/msmdpump.dll'; 
var dataSourceInfo = '';
var type = '';
var catalog = '';
var cube = '';

function diagnostic() {
 getDataSources();
}

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];
  flexmonster.connectTo({
  type: type,
  proxyUrl: proxyUrl,
   dataSourceInfo: dataSourceInfo,
   catalog: catalog,
   cube: cube
 });
}

diagnostic();

Open the example on JSFiddle.

See also

getXMLAProviderNameAsync
getXMLADataSources
getXMLACatalogs
getXMLACubes